[open-ils-commits] r1038 - servres/trunk/conifer/libsystems/evergreen (gfawcett)

svn at svn.open-ils.org svn at svn.open-ils.org
Wed Oct 13 22:28:50 EDT 2010


Author: gfawcett
Date: 2010-10-13 22:28:47 -0400 (Wed, 13 Oct 2010)
New Revision: 1038

Modified:
   servres/trunk/conifer/libsystems/evergreen/fm_IDL.xml
   servres/trunk/conifer/libsystems/evergreen/support.py
Log:
temporary, use local fm_IDL.xml for testing conifer integration

Modified: servres/trunk/conifer/libsystems/evergreen/fm_IDL.xml
===================================================================
--- servres/trunk/conifer/libsystems/evergreen/fm_IDL.xml	2010-10-14 02:28:43 UTC (rev 1037)
+++ servres/trunk/conifer/libsystems/evergreen/fm_IDL.xml	2010-10-14 02:28:47 UTC (rev 1038)
@@ -1,5064 +1,5384 @@
-<IDL xmlns:idl='http://opensrf.org/spec/IDL/base/v1' xmlns='http://opensrf.org/spec/IDL/base/v1' xmlns:permacrud='http://open-ils.org/spec/opensrf/IDL/permacrud/v1' xmlns:reporter='http://open-ils.org/spec/opensrf/IDL/reporter/v1' xmlns:oils_obj='http://open-ils.org/spec/opensrf/IDL/objects/v1' xmlns:oils_persist='http://open-ils.org/spec/opensrf/IDL/persistence/v1'>
-
+<IDL xmlns:idl='http://opensrf.org/spec/IDL/base/v1' xmlns='http://opensrf.org/spec/IDL/base/v1' xmlns:permacrud='http://open-ils.org/spec/opensrf/IDL/permacrud/v1' xmlns:reporter='http://open-ils.org/spec/opensrf/IDL/reporter/v1' xmlns:oils_obj='http://open-ils.org/spec/opensrf/IDL/objects/v1' xmlns:oils_persist='http://open-ils.org/spec/opensrf/IDL/persistence/v1'> 
+ 
 	
-	<class oils_obj:fieldmapper='money::user_payment_summary' reporter:label='User Payment Summary' controller='open-ils.cstore' id='mups' oils_persist:virtual='true'>
-		<fields>
-			<field name='usr' oils_persist:virtual='true'></field>
-			<field name='forgive_payment' oils_persist:virtual='true'></field>
-			<field name='work_payment' oils_persist:virtual='true'></field>
-			<field name='credit_payment' oils_persist:virtual='true'></field>
-			<field name='goods_payment' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='money::workstation_payment_summary' reporter:label='Workstation Payment Summary' controller='open-ils.cstore' id='mwps' oils_persist:virtual='true'>
-		<fields>
-			<field name='workstation' oils_persist:virtual='true'></field>
-			<field name='cash_payment' oils_persist:virtual='true'></field>
-			<field name='check_payment' oils_persist:virtual='true'></field>
-			<field name='credit_card_payment' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='workstation' reltype='has_a' class='aws' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='biblio::record_node' reporter:label='Record Node' controller='open-ils.cstore' id='brn' oils_persist:virtual='true'>
-		<fields>
-			<field name='id' oils_persist:virtual='true'></field>
-			<field name='children' oils_persist:virtual='true'></field>
-			<field name='owner_doc' oils_persist:virtual='true'></field>
-			<field name='intra_doc_id' oils_persist:virtual='true'></field>
-			<field name='parent_node' oils_persist:virtual='true'></field>
-			<field name='node_type' oils_persist:virtual='true'></field>
-			<field name='namespace_uri' oils_persist:virtual='true'></field>
-			<field name='name' oils_persist:virtual='true'></field>
-			<field name='value' oils_persist:virtual='true'></field>
-		</fields>
-	</class>
-
-	<class oils_obj:fieldmapper='metabib::virtual_record' reporter:label='Virtual Record' controller='open-ils.cstore' id='mvr' oils_persist:virtual='true'>
-		<fields>
-			<field name='title' oils_persist:virtual='true'></field>
-			<field name='author' oils_persist:virtual='true'></field>
-			<field name='doc_id' oils_persist:virtual='true'></field>
-			<field name='doc_type' oils_persist:virtual='true'></field>
-			<field name='pubdate' oils_persist:virtual='true'></field>
-			<field name='isbn' oils_persist:virtual='true'></field>
-			<field name='publisher' oils_persist:virtual='true'></field>
-			<field name='tcn' oils_persist:virtual='true'></field>
-			<field name='subject' oils_persist:virtual='true'></field>
-			<field name='types_of_resource' oils_persist:virtual='true'></field>
-			<field name='call_numbers' oils_persist:virtual='true'></field>
-			<field name='edition' oils_persist:virtual='true'></field>
-			<field name='online_loc' oils_persist:virtual='true'></field>
-			<field name='synopsis' oils_persist:virtual='true'></field>
-			<field name='physical_description' oils_persist:virtual='true'></field>
-			<field name='toc' oils_persist:virtual='true'></field>
-			<field name='copy_count' oils_persist:virtual='true'></field>
-			<field name='series' oils_persist:virtual='true'></field>
-			<field name='serials' oils_persist:virtual='true'></field>
-		</fields>
-	</class>
-
-	<class oils_obj:fieldmapper='ex' controller='open-ils.cstore' id='ex' oils_persist:virtual='true'>
-		<fields>
-			<field name='err_msg' oils_persist:virtual='true'></field>
-			<field name='type' oils_persist:virtual='true'></field>
-		</fields>
-	</class>
-
-	<class oils_obj:fieldmapper='perm_ex' controller='open-ils.cstore' id='perm_ex' oils_persist:virtual='true'>
-		<fields>
-			<field name='err_msg' oils_persist:virtual='true'></field>
-			<field name='type' oils_persist:virtual='true'></field>
-		</fields>
-	</class>
-
-	<class oils_obj:fieldmapper='action::matrix_test_result' reporter:label='Matrix Test Result' controller='open-ils.cstore' id='amtr' oils_persist:virtual='true'>
-		<fields oils_persist:primary='matchpoint'>
-			<field reporter:label='Matchpoint ID' name='matchpoint' reporter:datatype='id'></field>
-			<field reporter:label='Success' name='success' reporter:datatype='bool'></field>
-			<field reporter:label='Failure Part' name='fail_part' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='matchpoint' reltype='has_a' class='ccmm' key='id' map=''></link>
-		</links>
-	</class>
-
-
+	<class oils_obj:fieldmapper='money::user_payment_summary' reporter:label='User Payment Summary' controller='open-ils.cstore' id='mups' oils_persist:virtual='true'> 
+		<fields> 
+			<field name='usr' oils_persist:virtual='true'></field> 
+			<field name='forgive_payment' oils_persist:virtual='true'></field> 
+			<field name='work_payment' oils_persist:virtual='true'></field> 
+			<field name='credit_payment' oils_persist:virtual='true'></field> 
+			<field name='goods_payment' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='money::workstation_payment_summary' reporter:label='Workstation Payment Summary' controller='open-ils.cstore' id='mwps' oils_persist:virtual='true'> 
+		<fields> 
+			<field name='workstation' oils_persist:virtual='true'></field> 
+			<field name='cash_payment' oils_persist:virtual='true'></field> 
+			<field name='check_payment' oils_persist:virtual='true'></field> 
+			<field name='credit_card_payment' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='workstation' reltype='has_a' class='aws' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='biblio::record_node' reporter:label='Record Node' controller='open-ils.cstore' id='brn' oils_persist:virtual='true'> 
+		<fields> 
+			<field name='id' oils_persist:virtual='true'></field> 
+			<field name='children' oils_persist:virtual='true'></field> 
+			<field name='owner_doc' oils_persist:virtual='true'></field> 
+			<field name='intra_doc_id' oils_persist:virtual='true'></field> 
+			<field name='parent_node' oils_persist:virtual='true'></field> 
+			<field name='node_type' oils_persist:virtual='true'></field> 
+			<field name='namespace_uri' oils_persist:virtual='true'></field> 
+			<field name='name' oils_persist:virtual='true'></field> 
+			<field name='value' oils_persist:virtual='true'></field> 
+		</fields> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='metabib::virtual_record' reporter:label='Virtual Record' controller='open-ils.cstore' id='mvr' oils_persist:virtual='true'> 
+		<fields> 
+			<field name='title' oils_persist:virtual='true'></field> 
+			<field name='author' oils_persist:virtual='true'></field> 
+			<field name='doc_id' oils_persist:virtual='true'></field> 
+			<field name='doc_type' oils_persist:virtual='true'></field> 
+			<field name='pubdate' oils_persist:virtual='true'></field> 
+			<field name='isbn' oils_persist:virtual='true'></field> 
+			<field name='publisher' oils_persist:virtual='true'></field> 
+			<field name='tcn' oils_persist:virtual='true'></field> 
+			<field name='subject' oils_persist:virtual='true'></field> 
+			<field name='types_of_resource' oils_persist:virtual='true'></field> 
+			<field name='call_numbers' oils_persist:virtual='true'></field> 
+			<field name='edition' oils_persist:virtual='true'></field> 
+			<field name='online_loc' oils_persist:virtual='true'></field> 
+			<field name='synopsis' oils_persist:virtual='true'></field> 
+			<field name='physical_description' oils_persist:virtual='true'></field> 
+			<field name='toc' oils_persist:virtual='true'></field> 
+			<field name='copy_count' oils_persist:virtual='true'></field> 
+			<field name='series' oils_persist:virtual='true'></field> 
+			<field name='serials' oils_persist:virtual='true'></field> 
+		</fields> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='ex' controller='open-ils.cstore' id='ex' oils_persist:virtual='true'> 
+		<fields> 
+			<field name='err_msg' oils_persist:virtual='true'></field> 
+			<field name='type' oils_persist:virtual='true'></field> 
+		</fields> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='perm_ex' controller='open-ils.cstore' id='perm_ex' oils_persist:virtual='true'> 
+		<fields> 
+			<field name='err_msg' oils_persist:virtual='true'></field> 
+			<field name='type' oils_persist:virtual='true'></field> 
+		</fields> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action::matrix_test_result' reporter:label='Matrix Test Result' controller='open-ils.cstore' id='amtr' oils_persist:virtual='true'> 
+		<fields oils_persist:primary='matchpoint'> 
+			<field reporter:label='Matchpoint ID' name='matchpoint' reporter:datatype='id'></field> 
+			<field reporter:label='Success' name='success' reporter:datatype='bool'></field> 
+			<field reporter:label='Failure Part' name='fail_part' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='matchpoint' reltype='has_a' class='ccmm' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+ 
 	
-	<class oils_obj:fieldmapper='vandelay::import_bib_trash_fields' reporter:label='Import/Overlay Fields for Removal' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.import_bib_trash_fields' id='vibtf'>
-		<fields oils_persist:sequence='vandelay.import_bib_trash_fields_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Field ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field>
-			<field reporter:label='Field' name='field' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create context_field='owner' permission='CREATE_IMPORT_TRASH_FIELD'></create>
-				<retrieve context_field='owner' permission='CREATE_IMPORT_TRASH_FIELD UPDATE_IMPORT_TRASH_FIELD DELETE_IMPORT_TRASH_FIELD'></retrieve>
-				<update context_field='owner' permission='UPDATE_IMPORT_TRASH_FIELD'></update>
-				<delete context_field='owner' permission='DELETE_IMPORT_TRASH_FIELD'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::import_item' reporter:label='Import Item' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.import_item' id='vii'>
-		<fields oils_persist:sequence='vandelay.import_item_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Import Item ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Import Record' name='record' reporter:datatype='link'></field>
-			<field reporter:label='Attribute Definition' name='definition' reporter:datatype='link'></field>
-			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='int'></field>
-			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='int'></field>
-			<field reporter:label='Call Number' name='call_number' reporter:datatype='text'></field>
-			<field reporter:label='Copy Number' name='copy_number' reporter:datatype='int'></field>
-			<field reporter:label='Status' name='status' reporter:datatype='int'></field>
-			<field reporter:label='Shelving Location' name='location' reporter:datatype='int'></field>
-			<field reporter:label='Circulate' name='circulate' reporter:datatype='bool'></field>
-			<field reporter:label='Deposit' name='deposit' reporter:datatype='bool'></field>
-			<field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='money'></field>
-			<field reporter:label='Reference' name='ref' reporter:datatype='bool'></field>
-			<field reporter:label='Holdable' name='holdable' reporter:datatype='bool'></field>
-			<field reporter:label='Price' name='price' reporter:datatype='money'></field>
-			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field>
-			<field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='text'></field>
-			<field reporter:label='Circulate As MARC Type' name='circ_as_type' reporter:datatype='text'></field>
-			<field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field>
-			<field reporter:label='Public Note' name='pub_note' reporter:datatype='text'></field>
-			<field reporter:label='Private Note' name='priv_note' reporter:datatype='text'></field>
-			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field>
-		</fields>
-		<links>
-			<link field='record' reltype='has_a' class='vqbr' key='id' map=''></link>
-			<link field='definition' reltype='has_a' class='viiad' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create permission='CREATE_IMPORT_ITEM'>
-                    <context field='owner' link='definition'></context>
-				</create>
-				<retrieve permission='CREATE_IMPORT_ITEM UPDATE_IMPORT_ITEM DELETE_IMPORT_ITEM'>
-                    <context field='owner' link='definition'></context>
-				</retrieve>
-				<update permission='UPDATE_IMPORT_ITEM'>
-                    <context field='owner' link='definition'></context>
-				</update>
-				<delete permission='DELETE_IMPORT_ITEM'>
-                    <context field='owner' link='definition'></context>
-				</delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::import_item_attr_definition' reporter:label='Import Item Attribute Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.import_item_attr_definition' id='viiad'>
-		<fields oils_persist:sequence='vandelay.import_item_attr_definition_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Tag' name='tag' reporter:datatype='text'></field>
-			<field reporter:label='Keep' name='keep' reporter:datatype='bool'></field>
-			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='text'></field>
-			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='text'></field>
-			<field reporter:label='Call Number' name='call_number' reporter:datatype='text'></field>
-			<field reporter:label='Status' name='status' reporter:datatype='text'></field>
-			<field reporter:label='Shelving Location' name='location' reporter:datatype='text'></field>
-			<field reporter:label='Circulate' name='circulate' reporter:datatype='text'></field>
-			<field reporter:label='Deposit' name='deposit' reporter:datatype='text'></field>
-			<field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='text'></field>
-			<field reporter:label='Reference' name='ref' reporter:datatype='text'></field>
-			<field reporter:label='Holdable' name='holdable' reporter:datatype='text'></field>
-			<field reporter:label='Price' name='price' reporter:datatype='text'></field>
-			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field>
-			<field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='text'></field>
-			<field reporter:label='Circulate As MARC Type' name='circ_as_type' reporter:datatype='text'></field>
-			<field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field>
-			<field reporter:label='Public Note' name='pub_note' reporter:datatype='text'></field>
-			<field reporter:label='Private Note' name='priv_note' reporter:datatype='text'></field>
-			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='text'></field>
-			<field reporter:label='Copy Number' name='copy_number' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create context_field='owner' permission='CREATE_IMPORT_ITEM_ATTR_DEF'></create>
-				<retrieve context_field='owner' permission='CREATE_IMPORT_ITEM_ATTR_DEF UPDATE_IMPORT_ITEM_ATTR_DEF DELETE_IMPORT_ITEM_ATTR_DEF'></retrieve>
-				<update context_field='owner' permission='UPDATE_IMPORT_ITEM_ATTR_DEF'></update>
-				<delete context_field='owner' permission='DELETE_IMPORT_ITEM_ATTR_DEF'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::bib_queue' reporter:label='Import/Overlay Bib Queue' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.bib_queue' id='vbq'>
-		<fields oils_persist:sequence='vandelay.queue_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Queue ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Complete' name='complete' reporter:datatype='bool'></field>
-			<field reporter:label='Type' name='queue_type' reporter:datatype='text'></field>
-			<field reporter:label='Item Import Attribute Definition' name='item_attr_def' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='item_attr_def' reltype='has_a' class='viiad' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='CREATE_BIB_IMPORT_QUEUE'></create>
-				<retrieve global_required='true' permission='CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE'></retrieve>
-				<update global_required='true' permission='UPDATE_BIB_IMPORT_QUEUE'></update>
-				<delete global_required='true' permission='DELETE_BIB_IMPORT_QUEUE'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::queued_bib_record' reporter:label='Queued Bib Record' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.queued_bib_record' id='vqbr'>
-		<fields oils_persist:sequence='vandelay.queued_record_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Create Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Import Time' name='import_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='MARC' name='marc' reporter:datatype='text'></field>
-			<field reporter:label='Queue' name='queue' reporter:datatype='link'></field>
-			<field reporter:label='Bib Source' name='bib_source' reporter:datatype='link'></field>
-			<field reporter:label='Final Target Record' name='imported_as' reporter:datatype='link'></field>
-			<field reporter:label='Purpose' name='purpose' reporter:datatype='text'></field>
-			<field reporter:label='Attributes' name='attributes' reporter:datatype='text' oils_persist:virtual='true'></field>
-			<field reporter:label='Matches' name='matches' reporter:datatype='text' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='queue' reltype='has_a' class='vbq' key='id' map=''></link>
-			<link field='bib_source' reltype='has_a' class='cbs' key='id' map=''></link>
-			<link field='imported_as' reltype='has_a' class='bre' key='id' map=''></link>
-            <link field='attributes' reltype='has_many' class='vqbra' key='record' map=''></link>
-            <link field='matches' reltype='has_many' class='vbm' key='queued_record' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='CREATE_BIB_IMPORT_QUEUE'></create>
-				<retrieve global_required='true' permission='CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE'></retrieve>
-				<update global_required='true' permission='UPDATE_BIB_IMPORT_QUEUE'></update>
-				<delete global_required='true' permission='DELETE_BIB_IMPORT_QUEUE'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::bib_attr_definition' reporter:label='Queued Bib Record Attribute Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.bib_attr_definition' id='vqbrad'>
-		<fields oils_persist:sequence='vandelay.bib_attr_definition_id_seq' oils_persist:primary='id'>
-			<field reporter:label='ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='XPath' name='xpath' reporter:datatype='text'></field>
-			<field reporter:label='Remove RegExp' name='remove' reporter:datatype='text'></field>
-			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='CREATE_BIB_IMPORT_FIELD_DEF'></create>
-                <retrieve></retrieve>
+	<class oils_obj:fieldmapper='vandelay::import_bib_trash_fields' reporter:label='Import/Overlay Fields for Removal' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.import_bib_trash_fields' id='vibtf'> 
+		<fields oils_persist:sequence='vandelay.import_bib_trash_fields_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Field ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field> 
+			<field reporter:label='Field' name='field' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create context_field='owner' permission='CREATE_IMPORT_TRASH_FIELD'></create> 
+				<retrieve context_field='owner' permission='CREATE_IMPORT_TRASH_FIELD UPDATE_IMPORT_TRASH_FIELD DELETE_IMPORT_TRASH_FIELD'></retrieve> 
+				<update context_field='owner' permission='UPDATE_IMPORT_TRASH_FIELD'></update> 
+				<delete context_field='owner' permission='DELETE_IMPORT_TRASH_FIELD'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::import_item' reporter:label='Import Item' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.import_item' id='vii'> 
+		<fields oils_persist:sequence='vandelay.import_item_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Import Item ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Import Record' name='record' reporter:datatype='link'></field> 
+			<field reporter:label='Attribute Definition' name='definition' reporter:datatype='link'></field> 
+			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='int'></field> 
+			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='int'></field> 
+			<field reporter:label='Call Number' name='call_number' reporter:datatype='text'></field> 
+			<field reporter:label='Copy Number' name='copy_number' reporter:datatype='int'></field> 
+			<field reporter:label='Status' name='status' reporter:datatype='int'></field> 
+			<field reporter:label='Shelving Location' name='location' reporter:datatype='int'></field> 
+			<field reporter:label='Circulate' name='circulate' reporter:datatype='bool'></field> 
+			<field reporter:label='Deposit' name='deposit' reporter:datatype='bool'></field> 
+			<field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='money'></field> 
+			<field reporter:label='Reference' name='ref' reporter:datatype='bool'></field> 
+			<field reporter:label='Holdable' name='holdable' reporter:datatype='bool'></field> 
+			<field reporter:label='Price' name='price' reporter:datatype='money'></field> 
+			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field> 
+			<field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='text'></field> 
+			<field reporter:label='Circulate As MARC Type' name='circ_as_type' reporter:datatype='text'></field> 
+			<field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field> 
+			<field reporter:label='Public Note' name='pub_note' reporter:datatype='text'></field> 
+			<field reporter:label='Private Note' name='priv_note' reporter:datatype='text'></field> 
+			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field> 
+		</fields> 
+		<links> 
+			<link field='record' reltype='has_a' class='vqbr' key='id' map=''></link> 
+			<link field='definition' reltype='has_a' class='viiad' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create permission='CREATE_IMPORT_ITEM'> 
+                    <context field='owner' link='definition'></context> 
+				</create> 
+				<retrieve permission='CREATE_IMPORT_ITEM UPDATE_IMPORT_ITEM DELETE_IMPORT_ITEM'> 
+                    <context field='owner' link='definition'></context> 
+				</retrieve> 
+				<update permission='UPDATE_IMPORT_ITEM'> 
+                    <context field='owner' link='definition'></context> 
+				</update> 
+				<delete permission='DELETE_IMPORT_ITEM'> 
+                    <context field='owner' link='definition'></context> 
+				</delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::import_item_attr_definition' reporter:label='Import Item Attribute Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.import_item_attr_definition' id='viiad'> 
+		<fields oils_persist:sequence='vandelay.import_item_attr_definition_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Tag' name='tag' reporter:datatype='text'></field> 
+			<field reporter:label='Keep' name='keep' reporter:datatype='bool'></field> 
+			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='text'></field> 
+			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='text'></field> 
+			<field reporter:label='Call Number' name='call_number' reporter:datatype='text'></field> 
+			<field reporter:label='Status' name='status' reporter:datatype='text'></field> 
+			<field reporter:label='Shelving Location' name='location' reporter:datatype='text'></field> 
+			<field reporter:label='Circulate' name='circulate' reporter:datatype='text'></field> 
+			<field reporter:label='Deposit' name='deposit' reporter:datatype='text'></field> 
+			<field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='text'></field> 
+			<field reporter:label='Reference' name='ref' reporter:datatype='text'></field> 
+			<field reporter:label='Holdable' name='holdable' reporter:datatype='text'></field> 
+			<field reporter:label='Price' name='price' reporter:datatype='text'></field> 
+			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field> 
+			<field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='text'></field> 
+			<field reporter:label='Circulate As MARC Type' name='circ_as_type' reporter:datatype='text'></field> 
+			<field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field> 
+			<field reporter:label='Public Note' name='pub_note' reporter:datatype='text'></field> 
+			<field reporter:label='Private Note' name='priv_note' reporter:datatype='text'></field> 
+			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='text'></field> 
+			<field reporter:label='Copy Number' name='copy_number' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create context_field='owner' permission='CREATE_IMPORT_ITEM_ATTR_DEF'></create> 
+				<retrieve context_field='owner' permission='CREATE_IMPORT_ITEM_ATTR_DEF UPDATE_IMPORT_ITEM_ATTR_DEF DELETE_IMPORT_ITEM_ATTR_DEF'></retrieve> 
+				<update context_field='owner' permission='UPDATE_IMPORT_ITEM_ATTR_DEF'></update> 
+				<delete context_field='owner' permission='DELETE_IMPORT_ITEM_ATTR_DEF'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::bib_queue' reporter:label='Import/Overlay Bib Queue' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.bib_queue' id='vbq'> 
+		<fields oils_persist:sequence='vandelay.queue_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Queue ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Complete' name='complete' reporter:datatype='bool'></field> 
+			<field reporter:label='Type' name='queue_type' reporter:datatype='text'></field> 
+			<field reporter:label='Item Import Attribute Definition' name='item_attr_def' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='item_attr_def' reltype='has_a' class='viiad' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='CREATE_BIB_IMPORT_QUEUE'></create> 
+				<retrieve global_required='true' permission='CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE'></retrieve> 
+				<update global_required='true' permission='UPDATE_BIB_IMPORT_QUEUE'></update> 
+				<delete global_required='true' permission='DELETE_BIB_IMPORT_QUEUE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::queued_bib_record' reporter:label='Queued Bib Record' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.queued_bib_record' id='vqbr'> 
+		<fields oils_persist:sequence='vandelay.queued_record_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Create Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Import Time' name='import_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='MARC' name='marc' reporter:datatype='text'></field> 
+			<field reporter:label='Queue' name='queue' reporter:datatype='link'></field> 
+			<field reporter:label='Bib Source' name='bib_source' reporter:datatype='link'></field> 
+			<field reporter:label='Final Target Record' name='imported_as' reporter:datatype='link'></field> 
+			<field reporter:label='Purpose' name='purpose' reporter:datatype='text'></field> 
+			<field reporter:label='Attributes' name='attributes' reporter:datatype='text' oils_persist:virtual='true'></field> 
+			<field reporter:label='Matches' name='matches' reporter:datatype='text' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='queue' reltype='has_a' class='vbq' key='id' map=''></link> 
+			<link field='bib_source' reltype='has_a' class='cbs' key='id' map=''></link> 
+			<link field='imported_as' reltype='has_a' class='bre' key='id' map=''></link> 
+            <link field='attributes' reltype='has_many' class='vqbra' key='record' map=''></link> 
+            <link field='matches' reltype='has_many' class='vbm' key='queued_record' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='CREATE_BIB_IMPORT_QUEUE'></create> 
+				<retrieve global_required='true' permission='CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE'></retrieve> 
+				<update global_required='true' permission='UPDATE_BIB_IMPORT_QUEUE'></update> 
+				<delete global_required='true' permission='DELETE_BIB_IMPORT_QUEUE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::bib_attr_definition' reporter:label='Queued Bib Record Attribute Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.bib_attr_definition' id='vqbrad'> 
+		<fields oils_persist:sequence='vandelay.bib_attr_definition_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='XPath' name='xpath' reporter:datatype='text'></field> 
+			<field reporter:label='Remove RegExp' name='remove' reporter:datatype='text'></field> 
+			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='CREATE_BIB_IMPORT_FIELD_DEF'></create> 
+                <retrieve></retrieve> 
                 
-				<update global_required='true' permission='UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF'></update>
-				<delete global_required='true' permission='DELETE_BIB_IMPORT_IMPORT_FIELD_DEF'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::queued_bib_record_attr' reporter:label='Queued Bib Record Attribute' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.queued_bib_record_attr' id='vqbra'>
-		<fields oils_persist:sequence='vandelay.queued_bib_record_attr_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Attribute ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Record' name='record' reporter:datatype='link'></field>
-			<field reporter:label='Field' name='field' reporter:datatype='link'></field>
-			<field reporter:label='Value' name='attr_value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='record' reltype='has_a' class='vqbr' key='id' map=''></link>
-			<link field='field' reltype='has_a' class='vqbrad' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='CREATE_BIB_IMPORT_QUEUE'></create>
-				<retrieve global_required='true' permission='CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE'></retrieve>
-				<update global_required='true' permission='UPDATE_BIB_IMPORT_QUEUE'></update>
-				<delete global_required='true' permission='DELETE_BIB_IMPORT_QUEUE'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::bib_match' reporter:label='Queued Bib Record Match' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.bib_match' id='vbm'>
-		<fields oils_persist:sequence='vandelay.bib_match_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Match ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Queued Record' name='queued_record' reporter:datatype='link'></field>
-			<field reporter:label='Matched Attribute' name='matched_attr' reporter:datatype='link'></field>
-			<field reporter:label='Evergreen Record' name='eg_record' reporter:datatype='link'></field>
-			<field reporter:label='Field Type' name='field_type' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='queued_record' reltype='has_a' class='vqbr' key='id' map=''></link>
-			<link field='eg_record' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='matched_attr' reltype='has_a' class='vqbra' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='CREATE_BIB_IMPORT_QUEUE'></create>
-				<retrieve global_required='true' permission='CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE'></retrieve>
-				<update global_required='true' permission='UPDATE_BIB_IMPORT_QUEUE'></update>
-				<delete global_required='true' permission='DELETE_BIB_IMPORT_QUEUE'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::authority_queue' reporter:label='Import/Overlay Authority Queue' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.authority_queue' id='vaq'>
-		<fields oils_persist:sequence='vandelay.queue_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Queue ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Complete' name='complete' reporter:datatype='bool'></field>
-			<field reporter:label='Type' name='queue_type' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE'></create>
-				<retrieve global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE'></retrieve>
-				<update global_required='true' permission='UPDATE_AUTHORITY_IMPORT_QUEUE'></update>
-				<delete global_required='true' permission='DELETE_AUTHORITY_IMPORT_QUEUE'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::queued_authority_record' reporter:label='Queued Authority Record' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.queued_authority_record' id='vqar'>
-		<fields oils_persist:sequence='vandelay.queued_record_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Create Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Import Time' name='import_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='MARC' name='marc' reporter:datatype='text'></field>
-			<field reporter:label='Queue' name='queue' reporter:datatype='link'></field>
-			<field reporter:label='Final Target Record' name='imported_as' reporter:datatype='link'></field>
-			<field reporter:label='Purpose' name='purpose' reporter:datatype='text'></field>
-			<field reporter:label='Attributes' name='attributes' reporter:datatype='text' oils_persist:virtual='true'></field>
-			<field reporter:label='Matches' name='matches' reporter:datatype='text' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='queue' reltype='has_a' class='vaq' key='id' map=''></link>
-			<link field='imported_as' reltype='has_a' class='are' key='id' map=''></link>
-            <link field='attributes' reltype='has_many' class='vqara' key='record' map=''></link>
-            <link field='matches' reltype='has_many' class='vam' key='queued_record' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE'></create>
-				<retrieve global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE'></retrieve>
-				<update global_required='true' permission='UPDATE_AUTHORITY_IMPORT_QUEUE'></update>
-				<delete global_required='true' permission='DELETE_AUTHORITY_IMPORT_QUEUE'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::authority_attr_definition' reporter:label='Queued Authority Record Attribute Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.authority_attr_definition' id='vqarad'>
-		<fields oils_persist:sequence='vandelay.authority_attr_definition_id_seq' oils_persist:primary='id'>
-			<field reporter:label='ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='XPath' name='xpath' reporter:datatype='text'></field>
-			<field reporter:label='Remove RegExp' name='remove' reporter:datatype='text'></field>
-			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF'></create>
-                <retrieve></retrieve>
+				<update global_required='true' permission='UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF'></update> 
+				<delete global_required='true' permission='DELETE_BIB_IMPORT_IMPORT_FIELD_DEF'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::queued_bib_record_attr' reporter:label='Queued Bib Record Attribute' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.queued_bib_record_attr' id='vqbra'> 
+		<fields oils_persist:sequence='vandelay.queued_bib_record_attr_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Attribute ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Record' name='record' reporter:datatype='link'></field> 
+			<field reporter:label='Field' name='field' reporter:datatype='link'></field> 
+			<field reporter:label='Value' name='attr_value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='record' reltype='has_a' class='vqbr' key='id' map=''></link> 
+			<link field='field' reltype='has_a' class='vqbrad' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='CREATE_BIB_IMPORT_QUEUE'></create> 
+				<retrieve global_required='true' permission='CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE'></retrieve> 
+				<update global_required='true' permission='UPDATE_BIB_IMPORT_QUEUE'></update> 
+				<delete global_required='true' permission='DELETE_BIB_IMPORT_QUEUE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::bib_match' reporter:label='Queued Bib Record Match' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.bib_match' id='vbm'> 
+		<fields oils_persist:sequence='vandelay.bib_match_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Match ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Queued Record' name='queued_record' reporter:datatype='link'></field> 
+			<field reporter:label='Matched Attribute' name='matched_attr' reporter:datatype='link'></field> 
+			<field reporter:label='Evergreen Record' name='eg_record' reporter:datatype='link'></field> 
+			<field reporter:label='Field Type' name='field_type' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='queued_record' reltype='has_a' class='vqbr' key='id' map=''></link> 
+			<link field='eg_record' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='matched_attr' reltype='has_a' class='vqbra' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='CREATE_BIB_IMPORT_QUEUE'></create> 
+				<retrieve global_required='true' permission='CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE'></retrieve> 
+				<update global_required='true' permission='UPDATE_BIB_IMPORT_QUEUE'></update> 
+				<delete global_required='true' permission='DELETE_BIB_IMPORT_QUEUE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::authority_queue' reporter:label='Import/Overlay Authority Queue' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.authority_queue' id='vaq'> 
+		<fields oils_persist:sequence='vandelay.queue_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Queue ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Complete' name='complete' reporter:datatype='bool'></field> 
+			<field reporter:label='Type' name='queue_type' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE'></create> 
+				<retrieve global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE'></retrieve> 
+				<update global_required='true' permission='UPDATE_AUTHORITY_IMPORT_QUEUE'></update> 
+				<delete global_required='true' permission='DELETE_AUTHORITY_IMPORT_QUEUE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::queued_authority_record' reporter:label='Queued Authority Record' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.queued_authority_record' id='vqar'> 
+		<fields oils_persist:sequence='vandelay.queued_record_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Create Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Import Time' name='import_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='MARC' name='marc' reporter:datatype='text'></field> 
+			<field reporter:label='Queue' name='queue' reporter:datatype='link'></field> 
+			<field reporter:label='Final Target Record' name='imported_as' reporter:datatype='link'></field> 
+			<field reporter:label='Purpose' name='purpose' reporter:datatype='text'></field> 
+			<field reporter:label='Attributes' name='attributes' reporter:datatype='text' oils_persist:virtual='true'></field> 
+			<field reporter:label='Matches' name='matches' reporter:datatype='text' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='queue' reltype='has_a' class='vaq' key='id' map=''></link> 
+			<link field='imported_as' reltype='has_a' class='are' key='id' map=''></link> 
+            <link field='attributes' reltype='has_many' class='vqara' key='record' map=''></link> 
+            <link field='matches' reltype='has_many' class='vam' key='queued_record' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE'></create> 
+				<retrieve global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE'></retrieve> 
+				<update global_required='true' permission='UPDATE_AUTHORITY_IMPORT_QUEUE'></update> 
+				<delete global_required='true' permission='DELETE_AUTHORITY_IMPORT_QUEUE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::authority_attr_definition' reporter:label='Queued Authority Record Attribute Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.authority_attr_definition' id='vqarad'> 
+		<fields oils_persist:sequence='vandelay.authority_attr_definition_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='XPath' name='xpath' reporter:datatype='text'></field> 
+			<field reporter:label='Remove RegExp' name='remove' reporter:datatype='text'></field> 
+			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF'></create> 
+                <retrieve></retrieve> 
                 
-				<update global_required='true' permission='UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF'></update>
-				<delete global_required='true' permission='DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::queued_authority_record_attr' reporter:label='Queued Authority Record Attribute' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.queued_authority_record_attr' id='vqara'>
-		<fields oils_persist:sequence='vandelay.queued_authority_record_attr_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Attribute ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Record' name='record' reporter:datatype='link'></field>
-			<field reporter:label='Field' name='field' reporter:datatype='link'></field>
-			<field reporter:label='Value' name='attr_value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='record' reltype='has_a' class='vaqr' key='id' map=''></link>
-			<link field='field' reltype='has_a' class='vqarad' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE'></create>
-				<retrieve global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE'></retrieve>
-				<update global_required='true' permission='UPDATE_AUTHORITY_IMPORT_QUEUE'></update>
-				<delete global_required='true' permission='DELETE_AUTHORITY_IMPORT_QUEUE'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='vandelay::authority_match' reporter:label='Queued Authority Record Match' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.authority_match' id='vam'>
-		<fields oils_persist:sequence='vandelay.authority_match_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Match ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Queued Record' name='queued_record' reporter:datatype='link'></field>
-			<field reporter:label='Matched Attribute' name='matched_attr' reporter:datatype='link'></field>
-			<field reporter:label='Evergreen Record' name='eg_record' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='queued_record' reltype='has_a' class='vqbr' key='id' map=''></link>
-			<link field='eg_record' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='matched_attr' reltype='has_a' class='vqbra' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE'></create>
-				<retrieve global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE'></retrieve>
-				<update global_required='true' permission='UPDATE_AUTHORITY_IMPORT_QUEUE'></update>
-				<delete global_required='true' permission='DELETE_AUTHORITY_IMPORT_QUEUE'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-
-	<class oils_obj:fieldmapper='actor::usr_org_unit_opt_in' reporter:label='User Sharing Opt-in' controller='open-ils.cstore' oils_persist:tablename='actor.usr_org_unit_opt_in' id='auoi'>
-		<fields oils_persist:sequence='actor.usr_org_unit_opt_in_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Opt-in ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Workstation' name='opt_in_ws' reporter:datatype='link'></field>
-			<field reporter:label='Staff Member' name='staff' reporter:datatype='link'></field>
-			<field reporter:label='User' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Allowed Org Unit' name='org_unit' reporter:datatype='link'></field>
-			<field reporter:label='Opt-in Date/Time' name='opt_in_ts' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='opt_in_ws' reltype='has_a' class='aws' key='id' map=''></link>
-		</links>
-	</class>
-
-    <class oils_obj:fieldmapper='config::z3950_source' reporter:label='Z39.50 Source' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.z3950_source' id='czs'>
-        <fields oils_persist:primary='name'>
-            <field reporter:label='Z39.50 Source' name='name' reporter:datatype='id'></field>
-            <field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field>
-            <field reporter:label='Host' name='host' reporter:datatype='text'></field>
-            <field reporter:label='Port' name='port' reporter:datatype='int'></field>
-            <field reporter:label='DB' name='db' reporter:datatype='text'></field>
-            <field reporter:label='Record Format' name='record_format' reporter:datatype='text'></field>
-            <field reporter:label='Transmission Format' name='transmission_format' reporter:datatype='text'></field>
-            <field reporter:label='Auth' name='auth' reporter:datatype='bool'></field>
-            <field reporter:label='Attrs' name='attrs' reporter:datatype='link' oils_persist:virtual='true'></field>
-        </fields>
-        <links>
-            <link field='attrs' reltype='has_many' class='cza' key='source' map=''></link>
-        </links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_Z3950_SOURCE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_Z3950_SOURCE'></update>
-                <delete global_required='true' permission='ADMIN_Z3950_SOURCE'></delete>
-            </actions>
-        </permacrud>
-    </class>
-
-    <class oils_obj:fieldmapper='config::z3950_attr' reporter:label='Z39.50 Attribute' controller='open-ils.cstore' oils_persist:tablename='config.z3950_attr' id='cza'>
-        <fields oils_persist:sequence='config.z3950_attr_id_seq' oils_persist:primary='id'>
-            <field reporter:label='Z39.50 Attribute ID' name='id' reporter:datatype='id'></field>
-            <field reporter:label='Z39.50 Source' name='source' reporter:datatype='link'></field>
-            <field reporter:label='Name' name='name' reporter:datatype='text'></field>
-            <field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field>
-            <field reporter:label='Code' name='code' reporter:datatype='int'></field>
-            <field reporter:label='Format' name='format' reporter:datatype='int'></field>
-            <field reporter:label='Truncation' name='truncation' reporter:datatype='int'></field>
-        </fields>
-        <links>
-            <link field='source' reltype='has_a' class='czs' key='name' map=''></link>
-        </links>
-    </class>
-
-	<class oils_obj:fieldmapper='action_trigger::event_output' reporter:label='Event Output' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.event_output' id='ateo'>
-		<fields oils_persist:sequence='action_trigger.event_output_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Output ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Create Date/Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Data' name='data' reporter:datatype='text'></field>
-			<field reporter:label='Is Error' name='is_error' reporter:datatype='bool'></field>
-			<field reporter:label='Events' name='events' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Events' name='error_events' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-            <link field='events' reltype='has_many' class='atev' key='template_output' map=''></link>
-            <link field='error_events' reltype='has_many' class='atev' key='error_output' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<retrieve></retrieve>
-				<delete global_required='true' permission='ADMIN_TRIGGER_TEMPLATE_OUTPUT'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='action_trigger::hook' reporter:label='Trigger Hook Point' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.hook' id='ath'>
-		<fields oils_persist:primary='key'>
-			<field reporter:label='Hook Key' name='key' reporter:datatype='text'></field>
-			<field reporter:label='Core Type' name='core_type' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Passive' name='passive' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='ADMIN_TRIGGER_HOOK'></create>
-				<retrieve></retrieve>
-				<update global_required='true' permission='ADMIN_TRIGGER_HOOK'></update>
-				<delete global_required='true' permission='ADMIN_TRIGGER_HOOK'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='action_trigger::collector' reporter:label='Trigger Environment Collector' controller='open-ils.cstore' oils_persist:tablename='action_trigger.collector' id='atcol'>
-		<fields oils_persist:primary='module'>
-			<field reporter:label='Module Name' name='module' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-	</class>
-
-	<class oils_obj:fieldmapper='action_trigger::validator' reporter:label='Trigger Condition Validator' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.validator' id='atval'>
-		<fields oils_persist:primary='module'>
-			<field reporter:label='Module Name' name='module' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='ADMIN_TRIGGER_VALIDATOR'></create>
-				<retrieve></retrieve>
-				<update global_required='true' permission='ADMIN_TRIGGER_VALIDATOR'></update>
-				<delete global_required='true' permission='ADMIN_TRIGGER_VALIDATOR'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='action_trigger::reactor' reporter:label='Trigger Event Reactor' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.reactor' id='atreact'>
-		<fields oils_persist:primary='module'>
-			<field reporter:label='Module Name' name='module' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='ADMIN_TRIGGER_REACTOR'></create>
-				<retrieve></retrieve>
-				<update global_required='true' permission='ADMIN_TRIGGER_REACTOR'></update>
-				<delete global_required='true' permission='ADMIN_TRIGGER_REACTOR'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='action_trigger::cleanup' reporter:label='Trigger Event Cleanup' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.cleanup' id='atclean'>
-		<fields oils_persist:primary='module'>
-			<field reporter:label='Module Name' name='module' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='ADMIN_TRIGGER_CLEANUP'></create>
-				<retrieve></retrieve>
-				<update global_required='true' permission='ADMIN_TRIGGER_CLEANUP'></update>
-				<delete global_required='true' permission='ADMIN_TRIGGER_CLEANUP'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='action_trigger::environment' reporter:label='Trigger Event Environment Entry' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.environment' id='atenv'>
-		<fields oils_persist:sequence='action_trigger.environment_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Event Definition' name='event_def' reporter:datatype='link'></field>
-			<field reporter:label='Field Path' name='path' reporter:datatype='text'></field>
-			<field reporter:label='Collector' name='collector' reporter:datatype='link'></field>
-			<field reporter:label='Label' name='label' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='event_def' reltype='has_a' class='atevdef' key='id' map=''></link>
-			<link field='collector' reltype='has_a' class='atcol' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create permission='ADMIN_TRIGGER_EVENT_DEF'>
-                    <context field='owner' link='event_def'></context>
-                </create>
-				<retrieve permission='ADMIN_TRIGGER_EVENT_DEF'>
-                    <context field='owner' link='event_def'></context>
-                </retrieve>
-				<update permission='ADMIN_TRIGGER_EVENT_DEF'>
-                    <context field='owner' link='event_def'></context>
-                </update>
-				<delete permission='ADMIN_TRIGGER_EVENT_DEF'>
-                    <context field='owner' link='event_def'></context>
-                </delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='action_trigger::event_definition' reporter:label='Trigger Event Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.event_definition' id='atevdef'>
-		<fields oils_persist:sequence='action_trigger.event_definition_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Active' name='active' reporter:datatype='bool'></field>
-			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field>
-			<field reporter:label='Hook' name='hook' reporter:datatype='link'></field>
-			<field reporter:label='Validator' name='validator' reporter:datatype='link'></field>
-			<field reporter:label='Reactor' name='reactor' reporter:datatype='link'></field>
-			<field reporter:label='Success Cleanup' name='cleanup_success' reporter:datatype='link'></field>
-			<field reporter:label='Failure Cleanup' name='cleanup_failure' reporter:datatype='link'></field>
-			<field reporter:label='Processing Delay' name='delay' reporter:datatype='interval'></field>
-			<field reporter:label='Max Event Validity Delay' name='max_delay' reporter:datatype='interval'></field>
-			<field reporter:label='Processing Delay Context Field' name='delay_field' reporter:datatype='text'></field>
-			<field reporter:label='Processing Group Context Field' name='group_field' reporter:datatype='text'></field>
-			<field reporter:label='Template' name='template' reporter:datatype='text'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='Environmet Entries' name='env' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Parameters' name='params' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='hook' reltype='has_a' class='ath' key='key' map=''></link>
-			<link field='validator' reltype='has_a' class='atval' key='module' map=''></link>
-			<link field='reactor' reltype='has_a' class='atreact' key='module' map=''></link>
-			<link field='cleanup_success' reltype='has_a' class='atclean' key='module' map=''></link>
-			<link field='cleanup_failure' reltype='has_a' class='atclean' key='module' map=''></link>
-			<link field='env' reltype='has_many' class='atenv' key='event_def' map=''></link>
-			<link field='params' reltype='has_many' class='atevparam' key='event_def' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create context_field='owner' permission='ADMIN_TRIGGER_EVENT_DEF'></create>
-				<retrieve context_field='owner' permission='ADMIN_TRIGGER_EVENT_DEF'></retrieve>
-				<update context_field='owner' permission='ADMIN_TRIGGER_EVENT_DEF'></update>
-				<delete context_field='owner' permission='ADMIN_TRIGGER_EVENT_DEF'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='action_trigger::event' reporter:label='Trigger Event Entry' controller='open-ils.cstore' oils_persist:tablename='action_trigger.event' id='atev'>
-		<fields oils_persist:sequence='action_trigger.event_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Event ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Target ID' name='target' reporter:datatype='int'></field>
-			<field reporter:label='Event Definition' name='event_def' reporter:datatype='link'></field>
-			<field reporter:label='Add Time' name='add_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Run Time' name='run_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Start Time' name='start_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Update Time' name='update_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Complete Time' name='complete_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='State' name='state' reporter:datatype='text'></field>
-			<field reporter:label='Template Output' name='template_output' reporter:datatype='link'></field>
-			<field reporter:label='Error Output' name='error_output' reporter:datatype='text'></field>
-			<field reporter:label='Update Process' name='update_process' reporter:datatype='int'></field>
-		</fields>
-		<links>
-			<link field='event_def' reltype='has_a' class='atevdef' key='id' map=''></link>
-			<link field='template_output' reltype='has_a' class='ateo' key='id' map=''></link>
-			<link field='error_output' reltype='has_a' class='ateo' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='action_trigger::event_param' reporter:label='Trigger Event Parameter' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.event_params' id='atevparam'>
-		<fields oils_persist:sequence='action_trigger.event_params_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Event ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Event Definition' name='event_def' reporter:datatype='link'></field>
-			<field reporter:label='Parameter Name' name='param' reporter:datatype='text'></field>
-			<field reporter:label='Parameter Value' name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='event_def' reltype='has_a' class='atevdef' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create permission='ADMIN_TRIGGER_EVENT_DEF'>
-                    <context field='owner' link='event_def'></context>
-                </create>
-				<retrieve permission='ADMIN_TRIGGER_EVENT_DEF'>
-                    <context field='owner' link='event_def'></context>
-                </retrieve>
-				<update permission='ADMIN_TRIGGER_EVENT_DEF'>
-                    <context field='owner' link='event_def'></context>
-                </update>
-				<delete permission='ADMIN_TRIGGER_EVENT_DEF'>
-                    <context field='owner' link='event_def'></context>
-                </delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='actor::workstation' reporter:label='Workstation' controller='open-ils.cstore' oils_persist:tablename='actor.workstation' id='aws'>
-		<fields oils_persist:sequence='actor.workstation_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Workstation ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Workstation Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-		</fields>
-		<links>
-			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='config::circ_modifier' reporter:label='Circulation Modifier' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.circ_modifier' id='ccm'>
-		<fields oils_persist:primary='code'>
-			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='SIP2 Media Type' name='sip2_media_type' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Magnetic Media' name='magnetic_media' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_CIRC_MOD'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_CIRC_MOD'></update>
-                <delete global_required='true' permission='ADMIN_CIRC_MOD'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class reporter:label='Copy Bucket Type' oils_persist:tablename='container.copy_bucket_type' oils_obj:fieldmapper='container::copy_bucket_type' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='ccpbt'>
-		<fields oils_persist:primary='code'>
-			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_COPY_BTYPE'></create>
-                <retrieve global_required='true' permission='CREATE_COPY_BTYPE UPDATE_COPY_BTYPE DELETE_COPY_BTYPE'></retrieve>
-                <update global_required='true' permission='UPDATE_COPY_BTYPE'></update>
-                <delete global_required='true' permission='DELETE_COPY_BTYPE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class reporter:label='Call Number Bucket Type' oils_persist:tablename='container.call_number_bucket_type' oils_obj:fieldmapper='container::call_number_bucket_type' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='ccnbt'>
-		<fields oils_persist:primary='code'>
-			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_CN_BTYPE'></create>
-                <retrieve global_required='true' permission='CREATE_CN_BTYPE UPDATE_CN_BTYPE DELETE_CN_BTYPE'></retrieve>
-                <update global_required='true' permission='UPDATE_CN_BTYPE'></update>
-                <delete global_required='true' permission='DELETE_CN_BTYPE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class reporter:label='Bibliographic Record Bucket Type' oils_persist:tablename='container.biblio_record_entry_bucket_type' oils_obj:fieldmapper='container::biblio_record_entry_bucket_type' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cbrebt'>
-		<fields oils_persist:primary='code'>
-			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_BIB_BTYPE'></create>
-                <retrieve global_required='true' permission='CREATE_BIB_BTYPE UPDATE_BIB_BTYPE DELETE_BIB_BTYPE'></retrieve>
-                <update global_required='true' permission='UPDATE_BIB_BTYPE'></update>
-                <delete global_required='true' permission='DELETE_BIB_BTYPE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class reporter:label='User Bucket Type' oils_persist:tablename='container.user_bucket_type' oils_obj:fieldmapper='container::user_bucket_type' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cubt'>
-		<fields oils_persist:primary='code'>
-			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_USER_BTYPE'></create>
-                <retrieve global_required='true' permission='CREATE_USER_BTYPE UPDATE_USER_BTYPE DELETE_USER_BTYPE'></retrieve>
-                <update global_required='true' permission='UPDATE_USER_BTYPE'></update>
-                <delete global_required='true' permission='DELETE_USER_BTYPE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class reporter:label='Videorecording Format' oils_persist:tablename='config.videorecording_format_map' oils_obj:fieldmapper='config::videorecording_format_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cvrfm'>
-		<fields oils_persist:primary='code'>
-			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='value'></field>
-			<field reporter:label='Format' name='value' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_MARC_CODE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_MARC_CODE'></update>
-                <delete global_required='true' permission='ADMIN_MARC_CODE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='config::hold_matrix_matchpoint' reporter:label='Hold Matrix Matchpoint' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.hold_matrix_matchpoint' id='chmm'>
-		<fields oils_persist:sequence='config.hold_matrix_matchpoint_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Matchpoint ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Active?' name='active' reporter:datatype='bool'></field>
-			<field reporter:label='User Home Library' name='user_home_ou' reporter:datatype='org_unit'></field>
-			<field reporter:label='Request Library' name='request_ou' reporter:datatype='org_unit'></field>
-			<field reporter:label='Pickup Library' name='pickup_ou' reporter:datatype='org_unit'></field>
-			<field reporter:label='Owning Library' name='item_owning_ou' reporter:datatype='org_unit'></field>
-			<field reporter:label='Item Circ Library' name='item_circ_ou' reporter:datatype='org_unit'></field>
-			<field reporter:label='User Permission Group' name='usr_grp' reporter:datatype='link'></field>
-			<field reporter:label='Requestor Permission Group' name='requestor_grp' reporter:datatype='link'></field>
-			<field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='link' oils_persist:primitive='string'></field>
-			<field reporter:label='MARC Type' name='marc_type' reporter:datatype='link' oils_persist:primitive='string'></field>
-			<field reporter:label='MARC Form' name='marc_form' reporter:datatype='link' oils_persist:primitive='string'></field>
-			<field reporter:label='Videorecording Format' name='marc_vr_format' reporter:datatype='link' oils_persist:primitive='string'></field>
-			<field reporter:label='Reference?' name='ref_flag' reporter:datatype='bool'></field>
-			<field reporter:label='Holdable?' name='holdable' reporter:datatype='bool'></field>
-			<field reporter:label='Range is from Owning Lib?' name='distance_is_from_owner' reporter:datatype='bool'></field>
-			<field reporter:label='Transit Range' name='transit_range' reporter:datatype='link'></field>
-			<field reporter:label='Max Holds' name='max_holds' reporter:datatype='int'></field>
-			<field reporter:label='Max includes Frozen' name='include_frozen_holds' reporter:datatype='bool'></field>
-			<field reporter:label='Copy Age Hold Protection Rule' name='age_hold_protect_rule' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='user_home_ou' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='request_ou' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='pickup_ou' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='item_owning_ou' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='item_circ_ou' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='usr_grp' reltype='has_a' class='pgt' key='id' map=''></link>
-			<link field='requestor_grp' reltype='has_a' class='pgt' key='id' map=''></link>
-			<link field='circ_modifier' reltype='has_a' class='ccm' key='code' map=''></link>
-			<link field='marc_type' reltype='has_a' class='citm' key='code' map=''></link>
-			<link field='marc_form' reltype='has_a' class='cifm' key='code' map=''></link>
-			<link field='marc_vr_format' reltype='has_a' class='cvrfm' key='code' map=''></link>
-			<link field='age_hold_protect_rule' reltype='has_a' class='crahp' key='id' map=''></link>
-            <link field='transit_range' reltype='has_a' class='aout' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_HOLD_MATRIX_MATCHPOINT'></create>
-                <retrieve global_required='true' permission='ADMIN_HOLD_MATRIX_MATCHPOINT VIEW_HOLD_MATRIX_MATCHPOINT'></retrieve>
-                <update global_required='true' permission='ADMIN_HOLD_MATRIX_MATCHPOINT'></update>
-                <delete global_required='true' permission='ADMIN_HOLD_MATRIX_MATCHPOINT'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='config::circ_matrix_matchpoint' reporter:label='Circulation Matrix Matchpoint' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.circ_matrix_matchpoint' id='ccmm'>
-		<fields oils_persist:sequence='config.circ_matrix_matchpoint_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Matchpoint ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Active?' name='active' reporter:datatype='bool'></field>
-			<field reporter:label='Org Unit' name='org_unit' reporter:datatype='org_unit'></field>
-			<field reporter:label='Permission Group' name='grp' reporter:datatype='link'></field>
-			<field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='link' oils_persist:primitive='string'></field>
-			<field reporter:label='MARC Type' name='marc_type' reporter:datatype='link' oils_persist:primitive='string'></field>
-			<field reporter:label='MARC Form' name='marc_form' reporter:datatype='link' oils_persist:primitive='string'></field>
-			<field reporter:label='Videorecording Format' name='marc_vr_format' reporter:datatype='link' oils_persist:primitive='string'></field>
-			<field reporter:label='Reference?' name='ref_flag' reporter:datatype='bool'></field>
-			<field reporter:label='User Age: Lower Bound' name='usr_age_lower_bound' reporter:datatype='text'></field>
-			<field reporter:label='User Age: Upper Bound' name='usr_age_upper_bound' reporter:datatype='text'></field>
-			<field reporter:label='Circulate?' name='circulate' reporter:datatype='bool'></field>
-			<field reporter:label='Duration Rule' name='duration_rule' reporter:datatype='link'></field>
-			<field reporter:label='Recurring Fine Rule' name='recurring_fine_rule' reporter:datatype='link'></field>
-			<field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field>
-			<field reporter:label='Script Test' name='script_test' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='grp' reltype='has_a' class='pgt' key='id' map=''></link>
-			<link field='circ_modifier' reltype='has_a' class='ccm' key='code' map=''></link>
-			<link field='marc_type' reltype='has_a' class='citm' key='code' map=''></link>
-			<link field='marc_form' reltype='has_a' class='cifm' key='code' map=''></link>
-			<link field='marc_vr_format' reltype='has_a' class='cvrfm' key='code' map=''></link>
-			<link field='duration_rule' reltype='has_a' class='crcd' key='id' map=''></link>
-			<link field='max_fine_rule' reltype='has_a' class='crmf' key='id' map=''></link>
-			<link field='recurring_fine_rule' reltype='has_a' class='crrf' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='org_unit' permission='ADMIN_CIRC_MATRIX_MATCHPOINT'></create>
-                <retrieve context_field='org_unit' permission='ADMIN_CIRC_MATRIX_MATCHPOINT VIEW_CIRC_MATRIX_MATCHPOINT'></retrieve>
-                <update context_field='org_unit' permission='ADMIN_CIRC_MATRIX_MATCHPOINT'></update>
-                <delete context_field='org_unit' permission='ADMIN_CIRC_MATRIX_MATCHPOINT'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='config::circ_matrix_circ_mod_test' reporter:label='Circulation Matrix Circulation Modifier Subtest' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.circ_matrix_circ_mod_test' id='ccmcmt'>
-		<fields oils_persist:sequence='config.circ_matrix_circ_mod_test_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Test ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Matchpoint ID' name='matchpoint' reporter:datatype='link'></field>
-			<field reporter:label='Items Out' name='items_out' reporter:datatype='int'></field>
-		</fields>
-		<links>
-			<link field='matchpoint' reltype='has_a' class='ccmm' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='ADMIN_CIRC_MATRIX_MATCHPOINT'>
-                    <context field='org_unit' link='matchpoint'></context>
-                </create>
-                <retrieve></retrieve>
-                <update permission='ADMIN_CIRC_MATRIX_MATCHPOINT'>
-                    <context field='org_unit' link='matchpoint'></context>
-                </update>
-                <delete permission='ADMIN_CIRC_MATRIX_MATCHPOINT'>
-                    <context field='org_unit' link='matchpoint'></context>
-                </delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='config::circ_matrix_circ_mod_test_map' reporter:label='Circulation Matrix Circulation Modifier Subtest Circulation Modifier Set' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.circ_matrix_circ_mod_test_map' id='ccmcmtm'>
-		<fields oils_persist:sequence='config.circ_matrix_circ_mod_test_map_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Entry ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Circulation Modifier Subtest ID' name='circ_mod_test' reporter:datatype='link'></field>
-			<field reporter:label='Circulation Modifier' name='circ_mod' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='circ_mod_test' reltype='has_a' class='ccmcmt' key='id' map=''></link>
-			<link field='circ_mod' reltype='has_a' class='ccm' key='code' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='ADMIN_CIRC_MATRIX_MATCHPOINT'>
-                    <context jump='matchpoint' field='org_unit' link='circ_mod_test'></context>
-                </create>
-                <retrieve></retrieve>
-                <update permission='ADMIN_CIRC_MATRIX_MATCHPOINT'>
-                    <context jump='matchpoint' field='org_unit' link='circ_mod_test'></context>
-                </update>
-                <delete permission='ADMIN_CIRC_MATRIX_MATCHPOINT'>
-                    <context jump='matchpoint' field='org_unit' link='circ_mod_test'></context>
-                </delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='config::identification_type' reporter:label='Identification Type' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.identification_type' id='cit'>
-		<fields oils_persist:sequence='config.identification_type_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Identification ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Identification Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_IDENT_TYPE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_IDENT_TYPE'></update>
-                <delete global_required='true' permission='ADMIN_IDENT_TYPE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='action::survey_question' reporter:label='User Survey Question' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action.survey_question' id='asvq'>
-		<fields oils_persist:sequence='action.survey_question_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Answers' name='answers' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Responses' name='responses' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Question ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Question' name='question' reporter:datatype='text'></field>
-			<field reporter:label='Survey' name='survey' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='survey' reltype='has_a' class='asv' key='id' map=''></link>
-			<link field='responses' reltype='has_many' class='asvr' key='question' map=''></link>
-			<link field='answers' reltype='has_many' class='asva' key='question' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='ADMIN_SURVEY'>
-                    <context field='owner' link='survey'></context>
-                </create>
-                <retrieve></retrieve>
-                <update permission='ADMIN_SURVEY'>
-                    <context field='owner' link='survey'></context>
-                </update>
-                <delete permission='ADMIN_SURVEY'>
-                    <context field='owner' link='survey'></context>
-                </delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Billable Transaction Summary' oils_persist:tablename='money.materialized_billable_xact_summary' oils_obj:fieldmapper='money::billable_transaction_summary' controller='open-ils.cstore' id='mbts' oils_persist:readonly='true'>
-		<fields oils_persist:sequence='' oils_persist:primary='id'>
-			<field reporter:label='Balance Owed' name='balance_owed' reporter:datatype='money'></field>
-			<field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Last Billing Note' name='last_billing_note' reporter:datatype='text'></field>
-			<field reporter:label='Last Billing Timestamp' name='last_billing_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Last Billing Type' name='last_billing_type' reporter:datatype='text'></field>
-			<field reporter:label='Last Payment Note' name='last_payment_note' reporter:datatype='text'></field>
-			<field reporter:label='Last Payment Timestamp' name='last_payment_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Last Payment Type' name='last_payment_type' reporter:datatype='text'></field>
-			<field reporter:label='Total Owed' name='total_owed' reporter:datatype='money'></field>
-			<field reporter:label='Total Paid' name='total_paid' reporter:datatype='money'></field>
-			<field reporter:label='Billed User' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Transaction Finish Time' name='xact_finish' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction Start Time' name='xact_start' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction Type' name='xact_type' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='actor::usr_note' reporter:label='User Note' controller='open-ils.cstore' oils_persist:tablename='actor.usr_note' id='aun'>
-		<fields oils_persist:sequence='actor.usr_note_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Creating Staff' name='creator' reporter:datatype='link'></field>
-			<field reporter:label='Note ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Is OPAC Visible?' name='pub' reporter:datatype='bool'></field>
-			<field reporter:label='Note Title' name='title' reporter:datatype='text'></field>
-			<field reporter:label='User' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Note Content' name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='actor::user_setting' reporter:label='User Setting' controller='open-ils.cstore' oils_persist:tablename='actor.usr_setting' id='aus'>
-		<fields oils_persist:sequence='actor.usr_setting_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Setting ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='User' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Value' name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='metabib::author_field_entry' reporter:label='Author Field Entry' controller='open-ils.cstore' oils_persist:tablename='metabib.author_field_entry' id='mafe'>
-		<fields oils_persist:sequence='metabib.author_field_entry_id_seq' oils_persist:primary='id'>
-			<field name='field' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='source' reporter:datatype='link'></field>
-			<field name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='source' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='field' reltype='has_a' class='cmf' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='In House Use' oils_persist:tablename='action.in_house_use' reporter:core='true' oils_obj:fieldmapper='action::in_house_use' controller='open-ils.cstore' id='aihu'>
-		<fields oils_persist:sequence='action.in_house_use_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Use ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Item' name='item' reporter:datatype='int'></field>
-			<field reporter:label='Using Library' name='org_unit' reporter:datatype='org_unit'></field>
-			<field reporter:label='Recording Staff' name='staff' reporter:datatype='link'></field>
-			<field reporter:label='Use Date/Time' name='use_time' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='item' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Non-catalogued In House Use' oils_persist:tablename='action.non_cat_in_house_use' reporter:core='true' oils_obj:fieldmapper='action::non_cat_in_house_use' controller='open-ils.cstore' id='ancihu'>
-		<fields oils_persist:sequence='action.non_cat_in_house_use_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Use ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Item Type' name='item_type' reporter:datatype='link'></field>
-			<field reporter:label='Using Library' name='org_unit' reporter:datatype='org_unit'></field>
-			<field reporter:label='Recording Staff' name='staff' reporter:datatype='link'></field>
-			<field reporter:label='Use Date/Time' name='use_time' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='item_type' reltype='has_a' class='cnct' key='id' map=''></link>
-			<link field='staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Copy Transit' oils_persist:tablename='action.transit_copy' reporter:core='true' oils_obj:fieldmapper='action::transit_copy' controller='open-ils.cstore open-ils.pcrud' id='atc'>
-		<fields oils_persist:sequence='action.transit_copy_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Pretransit Copy Status' name='copy_status' reporter:datatype='bool'></field>
-			<field reporter:label='Destination' name='dest' reporter:datatype='link'></field>
-			<field reporter:label='Receive Date/Time' name='dest_recv_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transit ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Is Persistent? (unused)' name='persistant_transfer' reporter:datatype='bool'></field>
-			<field reporter:label='Previous Hop (unused)' name='prev_hop' reporter:datatype='link'></field>
-			<field reporter:label='Source' name='source' reporter:datatype='link'></field>
-			<field reporter:label='Send Date/Time' name='source_send_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transited Copy' name='target_copy' reporter:datatype='link'></field>
-			<field reporter:label='Hold Transit' name='hold_transit_copy' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='hold_transit_copy' reltype='might_have' class='ahtc' key='id' map=''></link>
-			<link field='source' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='copy_status' reltype='has_a' class='ccs' key='id' map=''></link>
-			<link field='dest' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owner' permission='TRANSIT_COPY'>
-                    <context field='circ_lib' link='target_copy'></context>
-                </create>
-                <retrieve></retrieve>
-                <update context_field='dest source' permission='UPDATE_TRANSIT'></update>
-                <delete context_field='dest source' permission='DELETE_TRANSIT'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='action::survey_response' reporter:label='Survey Response' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action.survey_response' id='asvr'>
-		<fields oils_persist:sequence='action.survey_response_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Answer' name='answer' reporter:datatype='link'></field>
-			<field reporter:label='Answer Date/Time' name='answer_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Effective Answer Date/Time' name='effective_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Answer ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Question' name='question' reporter:datatype='link'></field>
-			<field reporter:label='Response Group ID' name='response_group_id' reporter:datatype='int'></field>
-			<field reporter:label='Survey' name='survey' reporter:datatype='link'></field>
-			<field reporter:label='Responding User' name='usr' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='question' reltype='has_a' class='asvq' key='id' map=''></link>
-			<link field='survey' reltype='has_a' class='asv' key='id' map=''></link>
-			<link field='answer' reltype='has_a' class='asva' key='id' map=''></link>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='ADMIN_SURVEY'>
-                    <context field='owner' link='survey'></context>
-                </create>
-                <retrieve></retrieve>
-                <update permission='ADMIN_SURVEY'>
-                    <context field='owner' link='survey'></context>
-                </update>
-                <delete permission='ADMIN_SURVEY'>
-                    <context field='owner' link='survey'></context>
-                </delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='container::copy_bucket_item' reporter:label='Copy Bucket Item' controller='open-ils.cstore' oils_persist:tablename='container.copy_bucket_item' id='ccbi'>
-		<fields oils_persist:sequence='container.copy_bucket_item_id_seq' oils_persist:primary='id'>
-			<field name='bucket'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='target_copy' reporter:datatype='link'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-			<field name='pos' reporter:datatype='int'></field>
-			<field name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='bucket' reltype='has_a' class='ccb' key='id' map=''></link>
-            <link field='notes' reltype='has_many' class='ccbin' key='item' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::copy_bucket_item_note' reporter:label='Copy Bucket Item Note' controller='open-ils.cstore' oils_persist:tablename='container.copy_bucket_item_note' id='ccbin'>
-		<fields oils_persist:sequence='container.copy_bucket_item_note_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='item' reporter:datatype='link'></field>
-			<field name='note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='item' reltype='has_a' class='ccbi' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='authority::record_entry' reporter:label='Authority Record Entry' controller='open-ils.cstore' oils_persist:tablename='authority.record_entry' id='are'>
-		<fields oils_persist:sequence='authority.record_entry_id_seq' oils_persist:primary='id'>
-			<field name='active' reporter:datatype='bool'></field>
-			<field name='arn_source'></field>
-			<field name='arn_value'></field>
-			<field name='create_date' reporter:datatype='timestamp'></field>
-			<field name='creator'></field>
-			<field name='deleted' reporter:datatype='bool'></field>
-			<field name='edit_date' reporter:datatype='timestamp'></field>
-			<field name='editor'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='last_xact_id'></field>
-			<field name='marc'></field>
-			<field name='source'></field>
-			<field name='fixed_fields' oils_persist:virtual='true'></field>
-			<field name='notes' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='notes' reltype='has_many' class='arn' key='record' map=''></link>
-			<link field='fixed_fields' reltype='might_have' class='ard' key='record' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='authority::record_descriptor' reporter:label='Authority Record Descriptor' controller='open-ils.cstore' oils_persist:tablename='authority.rec_descriptor' id='ard'>
-		<fields oils_persist:sequence='authority.rec_descriptor_id_seq' oils_persist:primary='id'>
-			<field name='char_encoding'></field>
-			<field name='id'></field>
-			<field name='record'></field>
-			<field name='record_status'></field>
-		</fields>
-		<links>
-			<link field='record' reltype='has_a' class='are' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Language Map' oils_persist:tablename='config.language_map' oils_obj:fieldmapper='config::language_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='clm'>
-		<fields oils_persist:sequence='' oils_persist:primary='code'>
-			<field reporter:label='Language Code' name='code' reporter:datatype='text' reporter:selector='value'></field>
-			<field reporter:label='Language' name='value' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_MARC_CODE'></create>
-                <retrieve global_required='true' permission='CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE'></retrieve>
-                <update global_required='true' permission='UPDATE_MARC_CODE'></update>
-                <delete global_required='true' permission='DELETE_MARC_CODE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='money::credit_card_payment' reporter:label='Credit Card Payment' controller='open-ils.cstore' oils_persist:tablename='money.credit_card_payment' id='mccp'>
-		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'>
-			<field name='accepting_usr'></field>
-			<field name='amount' reporter:datatype='money'></field>
-			<field name='amount_collected' reporter:datatype='money'></field>
-			<field name='approval_code' reporter:datatype='text'></field>
-			<field name='cash_drawer' reporter:datatype='link'></field>
-			<field name='cc_number' reporter:datatype='text'></field>
-			<field name='cc_type' reporter:datatype='text'></field>
-			<field name='expire_month' reporter:datatype='int'></field>
-			<field name='expire_year' reporter:datatype='int'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='note' reporter:datatype='text'></field>
-			<field name='payment_ts' reporter:datatype='timestamp'></field>
-			<field name='xact' reporter:datatype='link'></field>
-			<field name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-			<field name='payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link>
-			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='cash_drawer' reltype='has_a' class='aws' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='config::xml_transform' reporter:label='XML/XSLT Transform Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.xml_transform' id='cxt'>
-		<fields oils_persist:primary='name'>
-			<field name='field_class'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='Namespace URI' name='namespace_uri' reporter:datatype='text'></field>
-			<field reporter:label='Namespace Prefix' name='prefix' reporter:datatype='text'></field>
-			<field reporter:label='XSLT' name='xslt' reporter:datatype='text'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_XML_TRANSFORM'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='UPDATE_XML_TRANSFORM'></update>
-                <delete global_required='true' permission='DELETE_XML_TRANSFORM'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='config::metabib_field' reporter:label='Metabib Field' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.metabib_field' id='cmf'>
-		<fields oils_persist:sequence='config.metabib_field_id_seq' oils_persist:primary='id'>
-			<field name='field_class'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='xpath' reporter:datatype='text'></field>
-			<field name='weight' reporter:datatype='int'></field>
-			<field name='format' reporter:datatype='link'></field>
-			<field name='search_field' reporter:datatype='bool'></field>
-			<field name='facet_field' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_METABIB_FIELD'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='UPDATE_METABIB_FIELD'></update>
-                <delete global_required='true' permission='DELETE_METABIB_FIELD'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Audience Map' oils_persist:tablename='config.audience_map' oils_obj:fieldmapper='config::audience_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cam'>
-		<fields oils_persist:sequence='' oils_persist:primary='code'>
-			<field reporter:label='Audience Code' name='code' reporter:datatype='text' reporter:selector='value'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Audience' name='value' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_MARC_CODE'></create>
-                <retrieve global_required='true' permission='CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE'></retrieve>
-                <update global_required='true' permission='UPDATE_MARC_CODE'></update>
-                <delete global_required='true' permission='DELETE_MARC_CODE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Item Form Map' oils_persist:tablename='config.item_form_map' oils_obj:fieldmapper='config::item_form_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cifm'>
-		<fields oils_persist:sequence='' oils_persist:primary='code'>
-			<field reporter:label='Item Form Code' name='code' reporter:datatype='text' reporter:selector='value'></field>
-			<field reporter:label='Item Form' name='value' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_MARC_CODE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_MARC_CODE'></update>
-                <delete global_required='true' permission='ADMIN_MARC_CODE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='asset::call_number' reporter:label='Call Number/Volume' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='asset.call_number' id='acn'>
-		<fields oils_persist:sequence='asset.call_number_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Copies' name='copies' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Create Date/Time' name='create_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Creating User' name='creator' reporter:datatype='link'></field>
-			<field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field>
-			<field reporter:label='Last Edit Date/Time' name='edit_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Last Editing User' name='editor' reporter:datatype='link'></field>
-			<field reporter:label='Call Number/Volume ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Call Number Label' name='label' reporter:datatype='text'></field>
-			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Bib Record' name='record' reporter:datatype='link'></field>
-			<field reporter:label='Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='URI Maps' name='uri_maps' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='URIs' name='uris' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='record' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='notes' reltype='has_many' class='acnn' key='call_number' map=''></link>
-			<link field='copies' reltype='has_many' class='acp' key='call_number' map=''></link>
-			<link field='uris' reltype='has_many' class='auricnm' key='call_number' map='uri'></link>
-			<link field='uri_maps' reltype='has_many' class='auricnm' key='call_number' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owning_lib' permission='CREATE_VOLUME'></create>
-                <retrieve></retrieve>
-                <update context_field='owning_lib' permission='UPDATE_VOLUME'></update>
-                <delete context_field='owning_lib' permission='DELETE_VOLUME'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='asset::uri' reporter:label='Electronic Access URI' controller='open-ils.cstore' oils_persist:tablename='asset.uri' id='auri'>
-		<fields oils_persist:sequence='asset.uri_id_seq' oils_persist:primary='id'>
-			<field reporter:label='URI ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='URI' name='href' reporter:datatype='text'></field>
-			<field reporter:label='Label' name='label' reporter:datatype='text'></field>
-			<field reporter:label='Use Information' name='use_restriction' reporter:datatype='text'></field>
-			<field reporter:label='Active' name='active' reporter:datatype='bool'></field>
-			<field reporter:label='Call Number Maps' name='call_number_maps' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Call Numbers' name='call_numbers' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='call_numbers' reltype='has_many' class='auricnm' key='uri' map='call_number'></link>
-			<link field='call_number_maps' reltype='has_many' class='auricnm' key='uri' map=''></link>
-        </links>
-	</class>
-	<class oils_obj:fieldmapper='asset::uri_call_number_map' reporter:label='Electronic Access URI to Call Number Map' controller='open-ils.cstore' oils_persist:tablename='asset.uri_call_number_map' id='auricnm'>
-		<fields oils_persist:sequence='asset.uri_call_number_map_id_seq' oils_persist:primary='id'>
-			<field reporter:label='ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='URI' name='uri' reporter:datatype='int'></field>
-			<field reporter:label='Call Number' name='call_number' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='uri' reltype='has_a' class='auri' key='id' map=''></link>
-			<link field='call_number' reltype='has_a' class='acn' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='config::standing' reporter:label='Standing Penalty' controller='open-ils.cstore' oils_persist:tablename='config.standing' id='cst'>
-		<fields oils_persist:sequence='config.standing_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='value' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-	</class>
-	<class oils_obj:fieldmapper='money::open_user_summary' reporter:label='Open User Summary' controller='open-ils.cstore' oils_persist:tablename='money.open_usr_summary' id='mous'>
-		<fields oils_persist:sequence='' oils_persist:primary='usr'>
-			<field name='balance_owed' reporter:datatype='money'></field>
-			<field name='total_owed' reporter:datatype='money'></field>
-			<field name='total_paid' reporter:datatype='money'></field>
-			<field name='usr' reporter:datatype='link'></field>
-		</fields>
-		<links></links>
-	</class>
-	<class oils_obj:fieldmapper='money::collections_tracker' reporter:label='Collections Tracker' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='money.collections_tracker' id='mct'>
-		<fields oils_persist:sequence='money.collections_tracker_id_seq' oils_persist:primary='id'>
-			<field name='collector'></field>
-			<field name='enter_time' reporter:datatype='timestamp'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='location' reporter:datatype='link'></field>
-			<field name='usr' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='collector' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='location' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='location' permission='money.collections_tracker.create'></create>
+				<update global_required='true' permission='UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF'></update> 
+				<delete global_required='true' permission='DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::queued_authority_record_attr' reporter:label='Queued Authority Record Attribute' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.queued_authority_record_attr' id='vqara'> 
+		<fields oils_persist:sequence='vandelay.queued_authority_record_attr_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Attribute ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Record' name='record' reporter:datatype='link'></field> 
+			<field reporter:label='Field' name='field' reporter:datatype='link'></field> 
+			<field reporter:label='Value' name='attr_value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='record' reltype='has_a' class='vaqr' key='id' map=''></link> 
+			<link field='field' reltype='has_a' class='vqarad' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE'></create> 
+				<retrieve global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE'></retrieve> 
+				<update global_required='true' permission='UPDATE_AUTHORITY_IMPORT_QUEUE'></update> 
+				<delete global_required='true' permission='DELETE_AUTHORITY_IMPORT_QUEUE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='vandelay::authority_match' reporter:label='Queued Authority Record Match' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='vandelay.authority_match' id='vam'> 
+		<fields oils_persist:sequence='vandelay.authority_match_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Match ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Queued Record' name='queued_record' reporter:datatype='link'></field> 
+			<field reporter:label='Matched Attribute' name='matched_attr' reporter:datatype='link'></field> 
+			<field reporter:label='Evergreen Record' name='eg_record' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='queued_record' reltype='has_a' class='vqbr' key='id' map=''></link> 
+			<link field='eg_record' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='matched_attr' reltype='has_a' class='vqbra' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE'></create> 
+				<retrieve global_required='true' permission='CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE'></retrieve> 
+				<update global_required='true' permission='UPDATE_AUTHORITY_IMPORT_QUEUE'></update> 
+				<delete global_required='true' permission='DELETE_AUTHORITY_IMPORT_QUEUE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+ 
+	<class oils_obj:fieldmapper='actor::usr_org_unit_opt_in' reporter:label='User Sharing Opt-in' controller='open-ils.cstore' oils_persist:tablename='actor.usr_org_unit_opt_in' id='auoi'> 
+		<fields oils_persist:sequence='actor.usr_org_unit_opt_in_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Opt-in ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Workstation' name='opt_in_ws' reporter:datatype='link'></field> 
+			<field reporter:label='Staff Member' name='staff' reporter:datatype='link'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Allowed Org Unit' name='org_unit' reporter:datatype='link'></field> 
+			<field reporter:label='Opt-in Date/Time' name='opt_in_ts' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='opt_in_ws' reltype='has_a' class='aws' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+    <class oils_obj:fieldmapper='config::z3950_source' reporter:label='Z39.50 Source' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.z3950_source' id='czs'> 
+        <fields oils_persist:primary='name'> 
+            <field reporter:label='Z39.50 Source' name='name' reporter:datatype='id'></field> 
+            <field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field> 
+            <field reporter:label='Host' name='host' reporter:datatype='text'></field> 
+            <field reporter:label='Port' name='port' reporter:datatype='int'></field> 
+            <field reporter:label='DB' name='db' reporter:datatype='text'></field> 
+            <field reporter:label='Record Format' name='record_format' reporter:datatype='text'></field> 
+            <field reporter:label='Transmission Format' name='transmission_format' reporter:datatype='text'></field> 
+            <field reporter:label='Auth' name='auth' reporter:datatype='bool'></field> 
+            <field reporter:label='Attrs' name='attrs' reporter:datatype='link' oils_persist:virtual='true'></field> 
+        </fields> 
+        <links> 
+            <link field='attrs' reltype='has_many' class='cza' key='source' map=''></link> 
+        </links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_Z3950_SOURCE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_Z3950_SOURCE'></update> 
+                <delete global_required='true' permission='ADMIN_Z3950_SOURCE'></delete> 
+            </actions> 
+        </permacrud> 
+    </class> 
+ 
+    <class oils_obj:fieldmapper='config::z3950_attr' reporter:label='Z39.50 Attribute' controller='open-ils.cstore' oils_persist:tablename='config.z3950_attr' id='cza'> 
+        <fields oils_persist:sequence='config.z3950_attr_id_seq' oils_persist:primary='id'> 
+            <field reporter:label='Z39.50 Attribute ID' name='id' reporter:datatype='id'></field> 
+            <field reporter:label='Z39.50 Source' name='source' reporter:datatype='link'></field> 
+            <field reporter:label='Name' name='name' reporter:datatype='text'></field> 
+            <field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field> 
+            <field reporter:label='Code' name='code' reporter:datatype='int'></field> 
+            <field reporter:label='Format' name='format' reporter:datatype='int'></field> 
+            <field reporter:label='Truncation' name='truncation' reporter:datatype='int'></field> 
+        </fields> 
+        <links> 
+            <link field='source' reltype='has_a' class='czs' key='name' map=''></link> 
+        </links> 
+    </class> 
+ 
+	<class oils_obj:fieldmapper='action_trigger::event_output' reporter:label='Event Output' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.event_output' id='ateo'> 
+		<fields oils_persist:sequence='action_trigger.event_output_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Output ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Create Date/Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Data' name='data' reporter:datatype='text'></field> 
+			<field reporter:label='Is Error' name='is_error' reporter:datatype='bool'></field> 
+			<field reporter:label='Events' name='events' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Events' name='error_events' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+            <link field='events' reltype='has_many' class='atev' key='template_output' map=''></link> 
+            <link field='error_events' reltype='has_many' class='atev' key='error_output' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<retrieve></retrieve> 
+				<delete global_required='true' permission='ADMIN_TRIGGER_TEMPLATE_OUTPUT DELETE_TRIGGER_TEMPLATE_OUTPUT'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action_trigger::hook' reporter:label='Trigger Hook Point' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.hook' id='ath'> 
+		<fields oils_persist:primary='key'> 
+			<field reporter:label='Hook Key' name='key' reporter:datatype='text'></field> 
+			<field reporter:label='Core Type' name='core_type' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Passive' name='passive' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_TRIGGER_HOOK CREATE_TRIGGER_HOOK'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_TRIGGER_HOOK UPDATE_TRIGGER_HOOK'></update> 
+				<delete global_required='true' permission='ADMIN_TRIGGER_HOOK DELETE_TRIGGER_HOOK'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action_trigger::collector' reporter:label='Trigger Environment Collector' controller='open-ils.cstore' oils_persist:tablename='action_trigger.collector' id='atcol'> 
+		<fields oils_persist:primary='module'> 
+			<field reporter:label='Module Name' name='module' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action_trigger::validator' reporter:label='Trigger Condition Validator' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.validator' id='atval'> 
+		<fields oils_persist:primary='module'> 
+			<field reporter:label='Module Name' name='module' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_TRIGGER_VALIDATOR CREATE_TRIGGER_VALIDATOR'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_TRIGGER_VALIDATOR UPDATE_TRIGGER_VALIDATOR'></update> 
+				<delete global_required='true' permission='ADMIN_TRIGGER_VALIDATOR DELETE_TRIGGER_VALIDATOR'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action_trigger::reactor' reporter:label='Trigger Event Reactor' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.reactor' id='atreact'> 
+		<fields oils_persist:primary='module'> 
+			<field reporter:label='Module Name' name='module' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_TRIGGER_REACTOR CREATE_TRIGGER_REACTOR'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_TRIGGER_REACTOR UPDATE_TRIGGER_REACTOR'></update> 
+				<delete global_required='true' permission='ADMIN_TRIGGER_REACTOR DELETE_TRIGGER_REACTOR'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action_trigger::cleanup' reporter:label='Trigger Event Cleanup' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.cleanup' id='atclean'> 
+		<fields oils_persist:primary='module'> 
+			<field reporter:label='Module Name' name='module' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_TRIGGER_CLEANUP CREATE_TRIGGER_CLEANUP'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_TRIGGER_CLEANUP UPDATE_TRIGGER_CLEANUP'></update> 
+				<delete global_required='true' permission='ADMIN_TRIGGER_CLEANUP DELETE_TRIGGER_CLEANUP'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action_trigger::environment' reporter:label='Trigger Event Environment Entry' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.environment' id='atenv'> 
+		<fields oils_persist:sequence='action_trigger.environment_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Event Definition' name='event_def' reporter:datatype='link'></field> 
+			<field reporter:label='Field Path' name='path' reporter:datatype='text'></field> 
+			<field reporter:label='Collector' name='collector' reporter:datatype='link'></field> 
+			<field reporter:label='Label' name='label' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='event_def' reltype='has_a' class='atevdef' key='id' map=''></link> 
+			<link field='collector' reltype='has_a' class='atcol' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create permission='ADMIN_TRIGGER_EVENT_DEF CREATE_TRIGGER_EVENT_DEF'> 
+                    <context field='owner' link='event_def'></context> 
+                </create> 
+				<retrieve permission='ADMIN_TRIGGER_EVENT_DEF VIEW_TRIGGER_EVENT_DEF'> 
+                    <context field='owner' link='event_def'></context> 
+                </retrieve> 
+				<update permission='ADMIN_TRIGGER_EVENT_DEF UPDATE_TRIGGER_EVENT_DEF'> 
+                    <context field='owner' link='event_def'></context> 
+                </update> 
+				<delete permission='ADMIN_TRIGGER_EVENT_DEF DELETE_TRIGGER_EVENT_DEF'> 
+                    <context field='owner' link='event_def'></context> 
+                </delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action_trigger::event_definition' reporter:label='Trigger Event Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.event_definition' id='atevdef'> 
+		<fields oils_persist:sequence='action_trigger.event_definition_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Enabled' name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Hook' name='hook' reporter:datatype='link'></field> 
+			<field reporter:label='Validator' name='validator' reporter:datatype='link'></field> 
+			<field reporter:label='Reactor' name='reactor' reporter:datatype='link'></field> 
+			<field reporter:label='Success Cleanup' name='cleanup_success' reporter:datatype='link'></field> 
+			<field reporter:label='Failure Cleanup' name='cleanup_failure' reporter:datatype='link'></field> 
+			<field reporter:label='Processing Delay' name='delay' reporter:datatype='interval'></field> 
+			<field reporter:label='Max Event Validity Delay' name='max_delay' reporter:datatype='interval'></field> 
+			<field reporter:label='Processing Delay Context Field' name='delay_field' reporter:datatype='text'></field> 
+			<field reporter:label='Processing Group Context Field' name='group_field' reporter:datatype='text'></field> 
+			<field reporter:label='Template' name='template' reporter:datatype='text'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Environmet Entries' name='env' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Parameters' name='params' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='hook' reltype='has_a' class='ath' key='key' map=''></link> 
+			<link field='validator' reltype='has_a' class='atval' key='module' map=''></link> 
+			<link field='reactor' reltype='has_a' class='atreact' key='module' map=''></link> 
+			<link field='cleanup_success' reltype='has_a' class='atclean' key='module' map=''></link> 
+			<link field='cleanup_failure' reltype='has_a' class='atclean' key='module' map=''></link> 
+			<link field='env' reltype='has_many' class='atenv' key='event_def' map=''></link> 
+			<link field='params' reltype='has_many' class='atevparam' key='event_def' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create context_field='owner' permission='ADMIN_TRIGGER_EVENT_DEF CREATE_TRIGGER_EVENT_DEF'></create> 
+				<retrieve context_field='owner' permission='ADMIN_TRIGGER_EVENT_DEF VIEW_TRIGGER_EVENT_DEF'></retrieve> 
+				<update context_field='owner' permission='ADMIN_TRIGGER_EVENT_DEF UPDATE_TRIGGER_EVENT_DEF'></update> 
+				<delete context_field='owner' permission='ADMIN_TRIGGER_EVENT_DEF DELETE_TRIGGER_EVENT_DEF'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action_trigger::event' reporter:label='Trigger Event Entry' controller='open-ils.cstore' oils_persist:tablename='action_trigger.event' id='atev'> 
+		<fields oils_persist:sequence='action_trigger.event_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Event ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Target ID' name='target' reporter:datatype='int'></field> 
+			<field reporter:label='Event Definition' name='event_def' reporter:datatype='link'></field> 
+			<field reporter:label='Add Time' name='add_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Run Time' name='run_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Start Time' name='start_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Update Time' name='update_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Complete Time' name='complete_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='State' name='state' reporter:datatype='text'></field> 
+			<field reporter:label='Template Output' name='template_output' reporter:datatype='link'></field> 
+			<field reporter:label='Error Output' name='error_output' reporter:datatype='text'></field> 
+			<field reporter:label='Update Process' name='update_process' reporter:datatype='int'></field> 
+		</fields> 
+		<links> 
+			<link field='event_def' reltype='has_a' class='atevdef' key='id' map=''></link> 
+			<link field='template_output' reltype='has_a' class='ateo' key='id' map=''></link> 
+			<link field='error_output' reltype='has_a' class='ateo' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action_trigger::event_param' reporter:label='Trigger Event Parameter' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action_trigger.event_params' id='atevparam'> 
+		<fields oils_persist:sequence='action_trigger.event_params_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Event ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Event Definition' name='event_def' reporter:datatype='link'></field> 
+			<field reporter:label='Parameter Name' name='param' reporter:datatype='text'></field> 
+			<field reporter:label='Parameter Value' name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='event_def' reltype='has_a' class='atevdef' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create permission='ADMIN_TRIGGER_EVENT_DEF CREATE_TRIGGER_EVENT_DEF'> 
+                    <context field='owner' link='event_def'></context> 
+                </create> 
+				<retrieve permission='ADMIN_TRIGGER_EVENT_DEF VIEW_TRIGGER_EVENT_DEF'> 
+                    <context field='owner' link='event_def'></context> 
+                </retrieve> 
+				<update permission='ADMIN_TRIGGER_EVENT_DEF UPDATE_TRIGGER_EVENT_DEF'> 
+                    <context field='owner' link='event_def'></context> 
+                </update> 
+				<delete permission='ADMIN_TRIGGER_EVENT_DEF DELETE_TRIGGER_EVENT_DEF'> 
+                    <context field='owner' link='event_def'></context> 
+                </delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='actor::workstation' reporter:label='Workstation' controller='open-ils.cstore' oils_persist:tablename='actor.workstation' id='aws'> 
+		<fields oils_persist:sequence='actor.workstation_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Workstation ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Workstation Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+		</fields> 
+		<links> 
+			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='config::circ_modifier' reporter:label='Circulation Modifier' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.circ_modifier' id='ccm'> 
+		<fields oils_persist:primary='code'> 
+			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='SIP2 Media Type' name='sip2_media_type' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Magnetic Media' name='magnetic_media' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_CIRC_MOD'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_CIRC_MOD'></update> 
+                <delete global_required='true' permission='ADMIN_CIRC_MOD'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class reporter:label='Copy Bucket Type' oils_persist:tablename='container.copy_bucket_type' oils_obj:fieldmapper='container::copy_bucket_type' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='ccpbt'> 
+		<fields oils_persist:primary='code'> 
+			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_COPY_BTYPE'></create> 
+                <retrieve global_required='true' permission='CREATE_COPY_BTYPE UPDATE_COPY_BTYPE DELETE_COPY_BTYPE'></retrieve> 
+                <update global_required='true' permission='UPDATE_COPY_BTYPE'></update> 
+                <delete global_required='true' permission='DELETE_COPY_BTYPE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class reporter:label='Call Number Bucket Type' oils_persist:tablename='container.call_number_bucket_type' oils_obj:fieldmapper='container::call_number_bucket_type' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='ccnbt'> 
+		<fields oils_persist:primary='code'> 
+			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_CN_BTYPE'></create> 
+                <retrieve global_required='true' permission='CREATE_CN_BTYPE UPDATE_CN_BTYPE DELETE_CN_BTYPE'></retrieve> 
+                <update global_required='true' permission='UPDATE_CN_BTYPE'></update> 
+                <delete global_required='true' permission='DELETE_CN_BTYPE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class reporter:label='Bibliographic Record Bucket Type' oils_persist:tablename='container.biblio_record_entry_bucket_type' oils_obj:fieldmapper='container::biblio_record_entry_bucket_type' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cbrebt'> 
+		<fields oils_persist:primary='code'> 
+			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_BIB_BTYPE'></create> 
+                <retrieve global_required='true' permission='CREATE_BIB_BTYPE UPDATE_BIB_BTYPE DELETE_BIB_BTYPE'></retrieve> 
+                <update global_required='true' permission='UPDATE_BIB_BTYPE'></update> 
+                <delete global_required='true' permission='DELETE_BIB_BTYPE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class reporter:label='User Bucket Type' oils_persist:tablename='container.user_bucket_type' oils_obj:fieldmapper='container::user_bucket_type' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cubt'> 
+		<fields oils_persist:primary='code'> 
+			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_USER_BTYPE'></create> 
+                <retrieve global_required='true' permission='CREATE_USER_BTYPE UPDATE_USER_BTYPE DELETE_USER_BTYPE'></retrieve> 
+                <update global_required='true' permission='UPDATE_USER_BTYPE'></update> 
+                <delete global_required='true' permission='DELETE_USER_BTYPE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class reporter:label='Videorecording Format' oils_persist:tablename='config.videorecording_format_map' oils_obj:fieldmapper='config::videorecording_format_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cvrfm'> 
+		<fields oils_persist:primary='code'> 
+			<field reporter:label='Code' name='code' reporter:datatype='id' reporter:selector='value'></field> 
+			<field reporter:label='Format' name='value' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_MARC_CODE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_MARC_CODE'></update> 
+                <delete global_required='true' permission='ADMIN_MARC_CODE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='config::hold_matrix_matchpoint' reporter:label='Hold Matrix Matchpoint' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.hold_matrix_matchpoint' id='chmm'> 
+		<fields oils_persist:sequence='config.hold_matrix_matchpoint_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Matchpoint ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Active?' name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='User Home Library' name='user_home_ou' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Request Library' name='request_ou' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Pickup Library' name='pickup_ou' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Owning Library' name='item_owning_ou' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Item Circ Library' name='item_circ_ou' reporter:datatype='org_unit'></field> 
+			<field reporter:label='User Permission Group' name='usr_grp' reporter:datatype='link'></field> 
+			<field reporter:label='Requestor Permission Group' name='requestor_grp' reporter:datatype='link'></field> 
+			<field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='link' oils_persist:primitive='string'></field> 
+			<field reporter:label='MARC Type' name='marc_type' reporter:datatype='link' oils_persist:primitive='string'></field> 
+			<field reporter:label='MARC Form' name='marc_form' reporter:datatype='link' oils_persist:primitive='string'></field> 
+			<field reporter:label='Videorecording Format' name='marc_vr_format' reporter:datatype='link' oils_persist:primitive='string'></field> 
+			<field reporter:label='Reference?' name='ref_flag' reporter:datatype='bool'></field> 
+			<field reporter:label='Holdable?' name='holdable' reporter:datatype='bool'></field> 
+			<field reporter:label='Range is from Owning Lib?' name='distance_is_from_owner' reporter:datatype='bool'></field> 
+			<field reporter:label='Transit Range' name='transit_range' reporter:datatype='link'></field> 
+			<field reporter:label='Max Holds' name='max_holds' reporter:datatype='int'></field> 
+			<field reporter:label='Max includes Frozen' name='include_frozen_holds' reporter:datatype='bool'></field> 
+			<field reporter:label='Copy Age Hold Protection Rule' name='age_hold_protect_rule' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='user_home_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='request_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='pickup_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='item_owning_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='item_circ_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='usr_grp' reltype='has_a' class='pgt' key='id' map=''></link> 
+			<link field='requestor_grp' reltype='has_a' class='pgt' key='id' map=''></link> 
+			<link field='circ_modifier' reltype='has_a' class='ccm' key='code' map=''></link> 
+			<link field='marc_type' reltype='has_a' class='citm' key='code' map=''></link> 
+			<link field='marc_form' reltype='has_a' class='cifm' key='code' map=''></link> 
+			<link field='marc_vr_format' reltype='has_a' class='cvrfm' key='code' map=''></link> 
+			<link field='age_hold_protect_rule' reltype='has_a' class='crahp' key='id' map=''></link> 
+            <link field='transit_range' reltype='has_a' class='aout' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_HOLD_MATRIX_MATCHPOINT'></create> 
+                <retrieve global_required='true' permission='ADMIN_HOLD_MATRIX_MATCHPOINT VIEW_HOLD_MATRIX_MATCHPOINT'></retrieve> 
+                <update global_required='true' permission='ADMIN_HOLD_MATRIX_MATCHPOINT'></update> 
+                <delete global_required='true' permission='ADMIN_HOLD_MATRIX_MATCHPOINT'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='config::circ_matrix_matchpoint' reporter:label='Circulation Matrix Matchpoint' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.circ_matrix_matchpoint' id='ccmm'> 
+		<fields oils_persist:sequence='config.circ_matrix_matchpoint_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Matchpoint ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Active?' name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='Org Unit' name='org_unit' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Permission Group' name='grp' reporter:datatype='link'></field> 
+			<field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='link' oils_persist:primitive='string'></field> 
+			<field reporter:label='MARC Type' name='marc_type' reporter:datatype='link' oils_persist:primitive='string'></field> 
+			<field reporter:label='MARC Form' name='marc_form' reporter:datatype='link' oils_persist:primitive='string'></field> 
+			<field reporter:label='Videorecording Format' name='marc_vr_format' reporter:datatype='link' oils_persist:primitive='string'></field> 
+			<field reporter:label='Reference?' name='ref_flag' reporter:datatype='bool'></field> 
+			<field reporter:label='User Age: Lower Bound' name='usr_age_lower_bound' reporter:datatype='text'></field> 
+			<field reporter:label='User Age: Upper Bound' name='usr_age_upper_bound' reporter:datatype='text'></field> 
+			<field reporter:label='Circulate?' name='circulate' reporter:datatype='bool'></field> 
+			<field reporter:label='Duration Rule' name='duration_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Recurring Fine Rule' name='recurring_fine_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Script Test' name='script_test' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='grp' reltype='has_a' class='pgt' key='id' map=''></link> 
+			<link field='circ_modifier' reltype='has_a' class='ccm' key='code' map=''></link> 
+			<link field='marc_type' reltype='has_a' class='citm' key='code' map=''></link> 
+			<link field='marc_form' reltype='has_a' class='cifm' key='code' map=''></link> 
+			<link field='marc_vr_format' reltype='has_a' class='cvrfm' key='code' map=''></link> 
+			<link field='duration_rule' reltype='has_a' class='crcd' key='id' map=''></link> 
+			<link field='max_fine_rule' reltype='has_a' class='crmf' key='id' map=''></link> 
+			<link field='recurring_fine_rule' reltype='has_a' class='crrf' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='org_unit' permission='ADMIN_CIRC_MATRIX_MATCHPOINT'></create> 
+                <retrieve context_field='org_unit' permission='ADMIN_CIRC_MATRIX_MATCHPOINT VIEW_CIRC_MATRIX_MATCHPOINT'></retrieve> 
+                <update context_field='org_unit' permission='ADMIN_CIRC_MATRIX_MATCHPOINT'></update> 
+                <delete context_field='org_unit' permission='ADMIN_CIRC_MATRIX_MATCHPOINT'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='config::circ_matrix_circ_mod_test' reporter:label='Circulation Matrix Circulation Modifier Subtest' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.circ_matrix_circ_mod_test' id='ccmcmt'> 
+		<fields oils_persist:sequence='config.circ_matrix_circ_mod_test_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Test ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Matchpoint ID' name='matchpoint' reporter:datatype='link'></field> 
+			<field reporter:label='Items Out' name='items_out' reporter:datatype='int'></field> 
+		</fields> 
+		<links> 
+			<link field='matchpoint' reltype='has_a' class='ccmm' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='ADMIN_CIRC_MATRIX_MATCHPOINT'> 
+                    <context field='org_unit' link='matchpoint'></context> 
+                </create> 
+                <retrieve></retrieve> 
+                <update permission='ADMIN_CIRC_MATRIX_MATCHPOINT'> 
+                    <context field='org_unit' link='matchpoint'></context> 
+                </update> 
+                <delete permission='ADMIN_CIRC_MATRIX_MATCHPOINT'> 
+                    <context field='org_unit' link='matchpoint'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='config::circ_matrix_circ_mod_test_map' reporter:label='Circulation Matrix Circulation Modifier Subtest Circulation Modifier Set' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.circ_matrix_circ_mod_test_map' id='ccmcmtm'> 
+		<fields oils_persist:sequence='config.circ_matrix_circ_mod_test_map_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Entry ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Circulation Modifier Subtest ID' name='circ_mod_test' reporter:datatype='link'></field> 
+			<field reporter:label='Circulation Modifier' name='circ_mod' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='circ_mod_test' reltype='has_a' class='ccmcmt' key='id' map=''></link> 
+			<link field='circ_mod' reltype='has_a' class='ccm' key='code' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='ADMIN_CIRC_MATRIX_MATCHPOINT'> 
+                    <context jump='matchpoint' field='org_unit' link='circ_mod_test'></context> 
+                </create> 
+                <retrieve></retrieve> 
+                <update permission='ADMIN_CIRC_MATRIX_MATCHPOINT'> 
+                    <context jump='matchpoint' field='org_unit' link='circ_mod_test'></context> 
+                </update> 
+                <delete permission='ADMIN_CIRC_MATRIX_MATCHPOINT'> 
+                    <context jump='matchpoint' field='org_unit' link='circ_mod_test'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='config::identification_type' reporter:label='Identification Type' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.identification_type' id='cit'> 
+		<fields oils_persist:sequence='config.identification_type_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Identification ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Identification Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_IDENT_TYPE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_IDENT_TYPE'></update> 
+                <delete global_required='true' permission='ADMIN_IDENT_TYPE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='action::survey_question' reporter:label='User Survey Question' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action.survey_question' id='asvq'> 
+		<fields oils_persist:sequence='action.survey_question_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Answers' name='answers' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Responses' name='responses' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Question ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Question' name='question' reporter:datatype='text'></field> 
+			<field reporter:label='Survey' name='survey' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='survey' reltype='has_a' class='asv' key='id' map=''></link> 
+			<link field='responses' reltype='has_many' class='asvr' key='question' map=''></link> 
+			<link field='answers' reltype='has_many' class='asva' key='question' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='ADMIN_SURVEY'> 
+                    <context field='owner' link='survey'></context> 
+                </create> 
+                <retrieve></retrieve> 
+                <update permission='ADMIN_SURVEY'> 
+                    <context field='owner' link='survey'></context> 
+                </update> 
+                <delete permission='ADMIN_SURVEY'> 
+                    <context field='owner' link='survey'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Billable Transaction Summary' oils_persist:tablename='money.materialized_billable_xact_summary' oils_obj:fieldmapper='money::billable_transaction_summary' controller='open-ils.cstore' id='mbts' oils_persist:readonly='true'> 
+		<fields oils_persist:sequence='' oils_persist:primary='id'> 
+			<field reporter:label='Balance Owed' name='balance_owed' reporter:datatype='money'></field> 
+			<field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Last Billing Note' name='last_billing_note' reporter:datatype='text'></field> 
+			<field reporter:label='Last Billing Timestamp' name='last_billing_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Last Billing Type' name='last_billing_type' reporter:datatype='text'></field> 
+			<field reporter:label='Last Payment Note' name='last_payment_note' reporter:datatype='text'></field> 
+			<field reporter:label='Last Payment Timestamp' name='last_payment_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Last Payment Type' name='last_payment_type' reporter:datatype='text'></field> 
+			<field reporter:label='Total Owed' name='total_owed' reporter:datatype='money'></field> 
+			<field reporter:label='Total Paid' name='total_paid' reporter:datatype='money'></field> 
+			<field reporter:label='Billed User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Transaction Finish Time' name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction Start Time' name='xact_start' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction Type' name='xact_type' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::usr_note' reporter:label='User Note' controller='open-ils.cstore' oils_persist:tablename='actor.usr_note' id='aun'> 
+		<fields oils_persist:sequence='actor.usr_note_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Creating Staff' name='creator' reporter:datatype='link'></field> 
+			<field reporter:label='Note ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Is OPAC Visible?' name='pub' reporter:datatype='bool'></field> 
+			<field reporter:label='Note Title' name='title' reporter:datatype='text'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Note Content' name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::usr_password_reset' reporter:label='User password reset requests' controller='open-ils.cstore' oils_persist:tablename='actor.usr_password_reset' id='aupr'> 
+		<fields oils_persist:sequence='actor.usr_password_reset_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Request ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='UUID' name='uuid' reporter:datatype='text'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Request Time' name='request_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Was Reset?' name='has_been_reset' reporter:datatype='bool'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id'></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::user_setting' reporter:label='User Setting' controller='open-ils.cstore' oils_persist:tablename='actor.usr_setting' id='aus'> 
+		<fields oils_persist:sequence='actor.usr_setting_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Setting ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Value' name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='metabib::author_field_entry' reporter:label='Author Field Entry' controller='open-ils.cstore' oils_persist:tablename='metabib.author_field_entry' id='mafe'> 
+		<fields oils_persist:sequence='metabib.author_field_entry_id_seq' oils_persist:primary='id'> 
+			<field name='field' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='source' reporter:datatype='link'></field> 
+			<field name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='source' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='field' reltype='has_a' class='cmf' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='In House Use' oils_persist:tablename='action.in_house_use' reporter:core='true' oils_obj:fieldmapper='action::in_house_use' controller='open-ils.cstore' id='aihu'> 
+		<fields oils_persist:sequence='action.in_house_use_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Use ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Item' name='item' reporter:datatype='int'></field> 
+			<field reporter:label='Using Library' name='org_unit' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Recording Staff' name='staff' reporter:datatype='link'></field> 
+			<field reporter:label='Use Date/Time' name='use_time' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='item' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Non-catalogued In House Use' oils_persist:tablename='action.non_cat_in_house_use' reporter:core='true' oils_obj:fieldmapper='action::non_cat_in_house_use' controller='open-ils.cstore' id='ancihu'> 
+		<fields oils_persist:sequence='action.non_cat_in_house_use_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Use ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Item Type' name='item_type' reporter:datatype='link'></field> 
+			<field reporter:label='Using Library' name='org_unit' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Recording Staff' name='staff' reporter:datatype='link'></field> 
+			<field reporter:label='Use Date/Time' name='use_time' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='item_type' reltype='has_a' class='cnct' key='id' map=''></link> 
+			<link field='staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Copy Transit' oils_persist:tablename='action.transit_copy' reporter:core='true' oils_obj:fieldmapper='action::transit_copy' controller='open-ils.cstore open-ils.pcrud' id='atc'> 
+		<fields oils_persist:sequence='action.transit_copy_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Pretransit Copy Status' name='copy_status' reporter:datatype='bool'></field> 
+			<field reporter:label='Destination' name='dest' reporter:datatype='link'></field> 
+			<field reporter:label='Receive Date/Time' name='dest_recv_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transit ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Is Persistent? (unused)' name='persistant_transfer' reporter:datatype='bool'></field> 
+			<field reporter:label='Previous Hop (unused)' name='prev_hop' reporter:datatype='link'></field> 
+			<field reporter:label='Source' name='source' reporter:datatype='link'></field> 
+			<field reporter:label='Send Date/Time' name='source_send_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transited Copy' name='target_copy' reporter:datatype='link'></field> 
+			<field reporter:label='Hold Transit' name='hold_transit_copy' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='hold_transit_copy' reltype='might_have' class='ahtc' key='id' map=''></link> 
+			<link field='source' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='copy_status' reltype='has_a' class='ccs' key='id' map=''></link> 
+			<link field='dest' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='owner' permission='TRANSIT_COPY'> 
+                    <context field='circ_lib' link='target_copy'></context> 
+                </create> 
+                <retrieve></retrieve> 
+                <update context_field='dest source' permission='UPDATE_TRANSIT'></update> 
+                <delete context_field='dest source' permission='DELETE_TRANSIT'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='action::survey_response' reporter:label='Survey Response' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action.survey_response' id='asvr'> 
+		<fields oils_persist:sequence='action.survey_response_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Answer' name='answer' reporter:datatype='link'></field> 
+			<field reporter:label='Answer Date/Time' name='answer_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Effective Answer Date/Time' name='effective_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Answer ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Question' name='question' reporter:datatype='link'></field> 
+			<field reporter:label='Response Group ID' name='response_group_id' reporter:datatype='int'></field> 
+			<field reporter:label='Survey' name='survey' reporter:datatype='link'></field> 
+			<field reporter:label='Responding User' name='usr' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='question' reltype='has_a' class='asvq' key='id' map=''></link> 
+			<link field='survey' reltype='has_a' class='asv' key='id' map=''></link> 
+			<link field='answer' reltype='has_a' class='asva' key='id' map=''></link> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='ADMIN_SURVEY'> 
+                    <context field='owner' link='survey'></context> 
+                </create> 
+                <retrieve></retrieve> 
+                <update permission='ADMIN_SURVEY'> 
+                    <context field='owner' link='survey'></context> 
+                </update> 
+                <delete permission='ADMIN_SURVEY'> 
+                    <context field='owner' link='survey'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='container::copy_bucket_item' reporter:label='Copy Bucket Item' controller='open-ils.cstore' oils_persist:tablename='container.copy_bucket_item' id='ccbi'> 
+		<fields oils_persist:sequence='container.copy_bucket_item_id_seq' oils_persist:primary='id'> 
+			<field name='bucket'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='target_copy' reporter:datatype='link'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+			<field name='pos' reporter:datatype='int'></field> 
+			<field name='notes' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='bucket' reltype='has_a' class='ccb' key='id' map=''></link> 
+            <link field='notes' reltype='has_many' class='ccbin' key='item' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::copy_bucket_item_note' reporter:label='Copy Bucket Item Note' controller='open-ils.cstore' oils_persist:tablename='container.copy_bucket_item_note' id='ccbin'> 
+		<fields oils_persist:sequence='container.copy_bucket_item_note_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='item' reporter:datatype='link'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='item' reltype='has_a' class='ccbi' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='authority::record_entry' reporter:label='Authority Record Entry' controller='open-ils.cstore' oils_persist:tablename='authority.record_entry' id='are'> 
+		<fields oils_persist:sequence='authority.record_entry_id_seq' oils_persist:primary='id'> 
+			<field name='active' reporter:datatype='bool'></field> 
+			<field name='arn_source'></field> 
+			<field name='arn_value'></field> 
+			<field name='create_date' reporter:datatype='timestamp'></field> 
+			<field name='creator'></field> 
+			<field name='deleted' reporter:datatype='bool'></field> 
+			<field name='edit_date' reporter:datatype='timestamp'></field> 
+			<field name='editor'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='last_xact_id'></field> 
+			<field name='marc'></field> 
+			<field name='source'></field> 
+			<field name='fixed_fields' oils_persist:virtual='true'></field> 
+			<field name='notes' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='notes' reltype='has_many' class='arn' key='record' map=''></link> 
+			<link field='fixed_fields' reltype='might_have' class='ard' key='record' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='authority::record_descriptor' reporter:label='Authority Record Descriptor' controller='open-ils.cstore' oils_persist:tablename='authority.rec_descriptor' id='ard'> 
+		<fields oils_persist:sequence='authority.rec_descriptor_id_seq' oils_persist:primary='id'> 
+			<field name='char_encoding'></field> 
+			<field name='id'></field> 
+			<field name='record'></field> 
+			<field name='record_status'></field> 
+		</fields> 
+		<links> 
+			<link field='record' reltype='has_a' class='are' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Language Map' oils_persist:tablename='config.language_map' oils_obj:fieldmapper='config::language_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='clm'> 
+		<fields oils_persist:sequence='' oils_persist:primary='code'> 
+			<field reporter:label='Language Code' name='code' reporter:datatype='text' reporter:selector='value'></field> 
+			<field reporter:label='Language' name='value' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_MARC_CODE'></create> 
+                <retrieve global_required='true' permission='CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE'></retrieve> 
+                <update global_required='true' permission='UPDATE_MARC_CODE'></update> 
+                <delete global_required='true' permission='DELETE_MARC_CODE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='money::credit_card_payment' reporter:label='Credit Card Payment' controller='open-ils.cstore' oils_persist:tablename='money.credit_card_payment' id='mccp'> 
+		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'> 
+			<field name='accepting_usr'></field> 
+			<field name='amount' reporter:datatype='money'></field> 
+			<field name='amount_collected' reporter:datatype='money'></field> 
+			<field name='approval_code' reporter:datatype='text'></field> 
+			<field name='cash_drawer' reporter:datatype='link'></field> 
+			<field name='cc_number' reporter:datatype='text'></field> 
+			<field name='cc_type' reporter:datatype='text'></field> 
+			<field name='expire_month' reporter:datatype='int'></field> 
+			<field name='expire_year' reporter:datatype='int'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+			<field name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field name='xact' reporter:datatype='link'></field> 
+			<field name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+			<field name='payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link> 
+			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='cash_drawer' reltype='has_a' class='aws' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='config::xml_transform' reporter:label='XML/XSLT Transform Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.xml_transform' id='cxt'> 
+		<fields oils_persist:primary='name'> 
+			<field name='field_class'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Namespace URI' name='namespace_uri' reporter:datatype='text'></field> 
+			<field reporter:label='Namespace Prefix' name='prefix' reporter:datatype='text'></field> 
+			<field reporter:label='XSLT' name='xslt' reporter:datatype='text'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_XML_TRANSFORM'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='UPDATE_XML_TRANSFORM'></update> 
+                <delete global_required='true' permission='DELETE_XML_TRANSFORM'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='config::metabib_field' reporter:label='Metabib Field' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.metabib_field' id='cmf'> 
+		<fields oils_persist:sequence='config.metabib_field_id_seq' oils_persist:primary='id'> 
+			<field name='field_class'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='xpath' reporter:datatype='text'></field> 
+			<field name='weight' reporter:datatype='int'></field> 
+			<field name='format' reporter:datatype='link'></field> 
+			<field name='search_field' reporter:datatype='bool'></field> 
+			<field name='facet_field' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_METABIB_FIELD'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='UPDATE_METABIB_FIELD'></update> 
+                <delete global_required='true' permission='DELETE_METABIB_FIELD'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Audience Map' oils_persist:tablename='config.audience_map' oils_obj:fieldmapper='config::audience_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cam'> 
+		<fields oils_persist:sequence='' oils_persist:primary='code'> 
+			<field reporter:label='Audience Code' name='code' reporter:datatype='text' reporter:selector='value'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Audience' name='value' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_MARC_CODE'></create> 
+                <retrieve global_required='true' permission='CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE'></retrieve> 
+                <update global_required='true' permission='UPDATE_MARC_CODE'></update> 
+                <delete global_required='true' permission='DELETE_MARC_CODE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Item Form Map' oils_persist:tablename='config.item_form_map' oils_obj:fieldmapper='config::item_form_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cifm'> 
+		<fields oils_persist:sequence='' oils_persist:primary='code'> 
+			<field reporter:label='Item Form Code' name='code' reporter:datatype='text' reporter:selector='value'></field> 
+			<field reporter:label='Item Form' name='value' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_MARC_CODE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_MARC_CODE'></update> 
+                <delete global_required='true' permission='ADMIN_MARC_CODE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='asset::call_number' reporter:label='Call Number/Volume' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='asset.call_number' id='acn'> 
+		<fields oils_persist:sequence='asset.call_number_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Copies' name='copies' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Create Date/Time' name='create_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Creating User' name='creator' reporter:datatype='link'></field> 
+			<field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field> 
+			<field reporter:label='Last Edit Date/Time' name='edit_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Last Editing User' name='editor' reporter:datatype='link'></field> 
+			<field reporter:label='Call Number/Volume ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Call Number Label' name='label' reporter:datatype='text'></field> 
+			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Bib Record' name='record' reporter:datatype='link'></field> 
+			<field reporter:label='Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='URI Maps' name='uri_maps' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='URIs' name='uris' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='record' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='notes' reltype='has_many' class='acnn' key='call_number' map=''></link> 
+			<link field='copies' reltype='has_many' class='acp' key='call_number' map=''></link> 
+			<link field='uris' reltype='has_many' class='auricnm' key='call_number' map='uri'></link> 
+			<link field='uri_maps' reltype='has_many' class='auricnm' key='call_number' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='owning_lib' permission='CREATE_VOLUME'></create> 
+                <retrieve></retrieve> 
+                <update context_field='owning_lib' permission='UPDATE_VOLUME'></update> 
+                <delete context_field='owning_lib' permission='DELETE_VOLUME'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='asset::uri' reporter:label='Electronic Access URI' controller='open-ils.cstore' oils_persist:tablename='asset.uri' id='auri'> 
+		<fields oils_persist:sequence='asset.uri_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='URI ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='URI' name='href' reporter:datatype='text'></field> 
+			<field reporter:label='Label' name='label' reporter:datatype='text'></field> 
+			<field reporter:label='Use Information' name='use_restriction' reporter:datatype='text'></field> 
+			<field reporter:label='Active' name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='Call Number Maps' name='call_number_maps' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Call Numbers' name='call_numbers' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='call_numbers' reltype='has_many' class='auricnm' key='uri' map='call_number'></link> 
+			<link field='call_number_maps' reltype='has_many' class='auricnm' key='uri' map=''></link> 
+        </links> 
+	</class> 
+	<class oils_obj:fieldmapper='asset::uri_call_number_map' reporter:label='Electronic Access URI to Call Number Map' controller='open-ils.cstore' oils_persist:tablename='asset.uri_call_number_map' id='auricnm'> 
+		<fields oils_persist:sequence='asset.uri_call_number_map_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='URI' name='uri' reporter:datatype='int'></field> 
+			<field reporter:label='Call Number' name='call_number' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='uri' reltype='has_a' class='auri' key='id' map=''></link> 
+			<link field='call_number' reltype='has_a' class='acn' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='config::standing' reporter:label='Standing Penalty' controller='open-ils.cstore' oils_persist:tablename='config.standing' id='cst'> 
+		<fields oils_persist:sequence='config.standing_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='value' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+	</class> 
+	<class oils_obj:fieldmapper='money::open_user_summary' reporter:label='Open User Summary' controller='open-ils.cstore' oils_persist:tablename='money.open_usr_summary' id='mous'> 
+		<fields oils_persist:sequence='' oils_persist:primary='usr'> 
+			<field name='balance_owed' reporter:datatype='money'></field> 
+			<field name='total_owed' reporter:datatype='money'></field> 
+			<field name='total_paid' reporter:datatype='money'></field> 
+			<field name='usr' reporter:datatype='link'></field> 
+		</fields> 
+		<links></links> 
+	</class> 
+	<class oils_obj:fieldmapper='money::collections_tracker' reporter:label='Collections Tracker' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='money.collections_tracker' id='mct'> 
+		<fields oils_persist:sequence='money.collections_tracker_id_seq' oils_persist:primary='id'> 
+			<field name='collector'></field> 
+			<field name='enter_time' reporter:datatype='timestamp'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='location' reporter:datatype='link'></field> 
+			<field name='usr' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='collector' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='location' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='location' permission='money.collections_tracker.create'></create> 
                 <retrieve context_field='location' permission='money.collections_tracker.create'></retrieve> 
-                <delete context_field='location' permission='money.collections_tracker.create'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Bibliographic Record' oils_persist:tablename='biblio.record_entry' reporter:core='true' oils_obj:fieldmapper='biblio::record_entry' controller='open-ils.cstore open-ils.pcrud' id='bre'>
-		<fields oils_persist:sequence='biblio.record_entry_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Call Numbers' name='call_numbers' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Fixed Field Entry' name='fixed_fields' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Is Active?' name='active' reporter:datatype='bool'></field>
-			<field reporter:label='Record Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Record Creator' name='creator' reporter:datatype='link'></field>
-			<field reporter:label='Is Deleted?' name='deleted' reporter:datatype='bool'></field>
-			<field reporter:label='Last Edit Data/Time' name='edit_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Last Editing User' name='editor' reporter:datatype='link'></field>
-			<field reporter:label='Fingerprint' name='fingerprint' reporter:datatype='text'></field>
-			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Last Transaction ID' name='last_xact_id' reporter:datatype='text'></field>
-			<field reporter:label='MARC21Slim' name='marc' reporter:datatype='text'></field>
-			<field reporter:label='Overall Quality' name='quality' reporter:datatype='int'></field>
-			<field reporter:label='Record Source' name='source' reporter:datatype='link'></field>
-			<field reporter:label='TCN Source' name='tcn_source' reporter:datatype='text'></field>
-			<field reporter:label='TCN Value' name='tcn_value' reporter:datatype='text'></field>
-			<field reporter:label='Metarecord' name='metarecord' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Language Code' name='language' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Non-MARC Record Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Indexed Keyword Field Entries' name='keyword_field_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Indexed Subject Field Entries' name='subject_field_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Indexed Title Field Entries' name='title_field_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Indexed Author Field Entries' name='author_field_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Indexed Series Field Entries' name='series_field_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Flattened MARC Fields ' name='full_record_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Simple Record Extracts ' name='simple_record' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='simple_record' reltype='might_have' class='rmsr' key='id' map=''></link>
-			<link field='metarecord' reltype='might_have' class='mmrsm' key='source' map='metarecord'></link>
-			<link field='call_numbers' reltype='has_many' class='acn' key='record' map=''></link>
-			<link field='keyword_field_entries' reltype='has_many' class='mkfe' key='source' map=''></link>
-			<link field='fixed_fields' reltype='might_have' class='mrd' key='record' map=''></link>
-			<link field='language' reltype='might_have' class='mrd' key='record' map='item_lang'></link>
-			<link field='subject_field_entries' reltype='has_many' class='msfe' key='source' map=''></link>
-			<link field='title_field_entries' reltype='has_many' class='mtfe' key='source' map=''></link>
-			<link field='notes' reltype='has_many' class='bren' key='record' map=''></link>
-			<link field='author_field_entries' reltype='has_many' class='mafe' key='source' map=''></link>
-			<link field='series_field_entries' reltype='has_many' class='msefe' key='source' map=''></link>
-			<link field='full_record_entries' reltype='has_many' class='mfr' key='record' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_MARC IMPORT_MARC'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='UPDATE_MARC'></update>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='actor::org_unit::hours_of_operation' reporter:label='Hours of Operation' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.hours_of_operation' id='aouhoo'>
-		<fields oils_persist:sequence='' oils_persist:primary='id'>
-			<field name='dow_0_close'></field>
-			<field name='dow_0_open'></field>
-			<field name='dow_1_close'></field>
-			<field name='dow_1_open'></field>
-			<field name='dow_2_close'></field>
-			<field name='dow_2_open'></field>
-			<field name='dow_3_close'></field>
-			<field name='dow_3_open'></field>
-			<field name='dow_4_close'></field>
-			<field name='dow_4_open'></field>
-			<field name='dow_5_close'></field>
-			<field name='dow_5_open'></field>
-			<field name='dow_6_close'></field>
-			<field name='dow_6_open'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='org_unit' reporter:datatype='org_unit' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='id' reltype='might_have' class='aou' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='id' permission='CREATE_HOURS_OF_OPERATION'></create>
-                <retrieve></retrieve>
-                <update context_field='id' permission='UPDATE_HOURS_OF_OPERATION'></update>
-                <delete context_field='id' permission='DELETE_HOURS_OF_OPERATION'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='actor::org_unit::closed_date' reporter:label='Closed Dates' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.org_unit_closed' id='aoucd'>
-		<fields oils_persist:sequence='actor.org_unit_closed_id_seq' oils_persist:primary='id'>
-			<field name='close_end' reporter:datatype='timestamp'></field>
-			<field name='close_start' reporter:datatype='timestamp'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='org_unit' reporter:datatype='org_unit'></field>
-			<field name='reason' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='org_unit' permission='CREATE_ORG_UNIT_CLOSING'></create>
-                <retrieve></retrieve>
-                <update context_field='org_unit' permission='UPDATE_ORG_UNIT_CLOSING'></update>
-                <delete context_field='org_unit' permission='DELETE_ORG_UNIT_CLOSING'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='config::rules::circ_duration' reporter:label='Circulation Duration Rule' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.rule_circ_duration' id='crcd'>
-		<fields oils_persist:sequence='config.rule_circ_duration_id_seq' oils_persist:primary='id'>
-			<field name='extended' reporter:datatype='interval'></field>
-			<field name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field name='max_renewals' reporter:datatype='int'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='normal' reporter:datatype='interval'></field>
-			<field name='shrt' reporter:datatype='interval'></field>
-		</fields>
-		<links>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_CIRC_DURATION'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='UPDATE_CIRC_DURATION'></update>
-                <delete global_required='true' permission='DELETE_CIRC_DURATION'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='money::open_billable_transaction_summary' reporter:label='Open Billable Transaction Summary' controller='open-ils.cstore' oils_persist:tablename='money.open_billable_xact_summary' id='mobts'>
-		<fields oils_persist:sequence='' oils_persist:primary='id'>
-			<field name='balance_owed' reporter:datatype='money'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='last_billing_note' reporter:datatype='text'></field>
-			<field name='last_billing_ts' reporter:datatype='timestamp'></field>
-			<field name='last_billing_type' reporter:datatype='text'></field>
-			<field name='last_payment_note' reporter:datatype='text'></field>
-			<field name='last_payment_ts' reporter:datatype='timestamp'></field>
-			<field name='last_payment_type' reporter:datatype='text'></field>
-			<field name='total_owed' reporter:datatype='money'></field>
-			<field name='total_paid' reporter:datatype='money'></field>
-			<field name='usr' reporter:datatype='link'></field>
-			<field name='xact_finish' reporter:datatype='timestamp'></field>
-			<field name='xact_start' reporter:datatype='timestamp'></field>
-			<field name='xact_type' reporter:datatype='text'></field>
-			<field name='xact' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='grocery' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='circulation' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='billing_location' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='xact' reltype='might_have' class='mbt' key='id' map=''></link>
-			<link field='circulation' reltype='might_have' class='circ' key='id' map=''></link>
-			<link field='grocery' reltype='might_have' class='mg' key='id' map=''></link>
-			<link field='billing_location' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='ILS User' oils_persist:tablename='actor.usr' reporter:core='true' oils_obj:fieldmapper='actor::user' controller='open-ils.cstore' id='au'>
-		<fields oils_persist:sequence='actor.usr_id_seq' oils_persist:primary='id'>
-			<field reporter:label='All Addresses' name='addresses' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='All Library Cards' name='cards' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='All Circulations' name='checkouts' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='All Hold Requests' name='hold_requests' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='All Permissions' name='permissions' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='All User Settings' name='settings' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Standing Penalties' name='standing_penalties' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Statistical Category Entries' name='stat_cat_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Survey Responses' name='survey_responses' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='ws_ou' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='wsid' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Active' name='active' reporter:datatype='bool'></field>
-			<field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field>
-			<field reporter:label='Barred' name='barred' reporter:datatype='bool'></field>
-			<field reporter:label='Physical Address' name='billing_address' reporter:datatype='link'></field>
-			<field reporter:label='Current Library Card' name='card' reporter:datatype='link'></field>
-			<field reporter:label='Claims-returned Count' name='claims_returned_count' reporter:datatype='int'></field>
-			<field reporter:label='Record Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='User Credit Balance' name='credit_forward_balance' reporter:datatype='money'></field>
-			<field reporter:label='Daytime Phone' name='day_phone' reporter:datatype='text'></field>
-			<field reporter:label='Date of Birth' name='dob' reporter:datatype='timestamp'></field>
-			<field reporter:label='Email Address' name='email' reporter:datatype='text'></field>
-			<field reporter:label='Evening Phone' name='evening_phone' reporter:datatype='text'></field>
-			<field reporter:label='Privilege Expiration Date' name='expire_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Last Name' name='family_name' reporter:datatype='text'></field>
-			<field reporter:label='First Name' name='first_given_name' reporter:datatype='text'></field>
-			<field reporter:label='Home Library' name='home_ou' reporter:datatype='org_unit'></field>
-			<field reporter:label='User ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Primary Identification Type' name='ident_type' reporter:datatype='link'></field>
-			<field reporter:label='Secondary Identification Type' name='ident_type2' reporter:datatype='link'></field>
-			<field reporter:label='Primary Identification' name='ident_value' reporter:datatype='text'></field>
-			<field reporter:label='Secondary Identification' name='ident_value2' reporter:datatype='text'></field>
-			<field name='last_xact_id' reporter:datatype='text'></field>
-			<field reporter:label='Mailing Address' name='mailing_address' reporter:datatype='link'></field>
-			<field reporter:label='Is Group Lead Account' name='master_account' reporter:datatype='bool'></field>
-			<field reporter:label='Internet Access Level' name='net_access_level' reporter:datatype='link'></field>
-			<field reporter:label='Other Phone' name='other_phone' reporter:datatype='text'></field>
-			<field reporter:label='Password' name='passwd' reporter:datatype='text'></field>
-			<field reporter:label='Photo URL' name='photo_url' reporter:datatype='text'></field>
-			<field reporter:label='Prefix' name='prefix' reporter:datatype='text'></field>
-			<field reporter:label='Main (Profile) Permission Group' name='profile' reporter:datatype='link'></field>
-			<field reporter:label='Middle Name' name='second_given_name' reporter:datatype='text'></field>
-			<field reporter:label='Standing (unused)' name='standing' reporter:datatype='link'></field>
-			<field reporter:label='Suffix/Title' name='suffix' reporter:datatype='text'></field>
-			<field reporter:label='Is Super User' name='super_user' reporter:datatype='bool'></field>
-			<field reporter:label='Family Linkage or other Group' name='usrgroup' reporter:datatype='int'></field>
-			<field reporter:label='OPAC/Staff Client User Name' name='usrname' reporter:datatype='text'></field>
-			<field reporter:label='OPAC/Staff Client Holds Alias' name='alias' reporter:datatype='text'></field>
-			<field reporter:label='Juvenile' name='juvenile' reporter:datatype='bool'></field>
-			<field reporter:label='Additional Permission Groups' name='groups' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field>
-			<field reporter:label='User Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Demographic Info' name='demographic' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Billable Transactions' name='billable_transactions' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Money Summary' name='money_summary' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Open Billable Transactions' name='open_billable_transactions_summary' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Checkins' name='checkins' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Circulations Performed as Staff' name='performed_circulations' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='demographic' reltype='might_have' class='rud' key='id' map=''></link>
-			<link field='net_access_level' reltype='has_a' class='cnal' key='id' map=''></link>
-			<link field='profile' reltype='has_a' class='pgt' key='id' map=''></link>
-			<link field='ident_type' reltype='has_a' class='cit' key='id' map=''></link>
-			<link field='billing_address' reltype='has_a' class='aua' key='id' map=''></link>
-			<link field='mailing_address' reltype='has_a' class='aua' key='id' map=''></link>
-			<link field='home_ou' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='standing' reltype='has_a' class='cst' key='id' map=''></link>
-			<link field='card' reltype='has_a' class='ac' key='id' map=''></link>
-			<link field='ident_type2' reltype='has_a' class='cit' key='id' map=''></link>
-			<link field='stat_cat_entries' reltype='has_many' class='actscecm' key='target_usr' map=''></link>
-			<link field='groups' reltype='has_many' class='pugm' key='usr' map='grp'></link>
-			<link field='usrgroup' reltype='has_many' class='au' key='usrgroup' map=''></link>
-			<link field='checkouts' reltype='has_many' class='circ' key='usr' map=''></link>
-			<link field='hold_requests' reltype='has_many' class='circ' key='usr' map=''></link>
-			<link field='permissions' reltype='has_many' class='pupm' key='usr' map='perm'></link>
-			<link field='settings' reltype='has_many' class='aus' key='usr' map=''></link>
-			<link reporter:label='Billable Transactions' map='' reltype='has_many' field='billable_transactions' key='usr' class='mbt'></link>
-			<link field='open_billable_transactions_summary' reltype='has_many' class='mobts' key='usr' map=''></link>
-			<link field='money_summary' reltype='might_have' class='mus' key='usr' map=''></link>
-			<link field='standing_penalties' reltype='has_many' class='ausp' key='usr' map=''></link>
-			<link field='addresses' reltype='has_many' class='aua' key='usr' map=''></link>
-			<link field='survey_responses' reltype='has_many' class='asvr' key='usr' map=''></link>
-			<link field='notes' reltype='has_many' class='aun' key='usr' map=''></link>
-			<link reporter:label='Check-ins Performed as Staff' map='' reltype='has_many' field='checkins' key='checkin_staff' class='circ'></link>
-			<link field='cards' reltype='has_many' class='ac' key='usr' map=''></link>
-			<link reporter:label='Circulations Performed as Staff' map='' reltype='has_many' field='performed_circulations' key='circ_staff' class='circ'></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='actor::org_unit_setting' reporter:label='Organizational Unit Setting' controller='open-ils.cstore' oils_persist:tablename='actor.org_unit_setting' id='aous'>
-		<fields oils_persist:sequence='actor.org_unit_setting_id_seq' oils_persist:primary='id'>
-			<field name='id'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='org_unit' reporter:datatype='org_unit'></field>
-			<field name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='asset::copy_note' reporter:label='Copy Note' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='asset.copy_note' id='acpn'>
-		<fields oils_persist:sequence='asset.copy_note_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Note Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Note Creator' name='creator' reporter:datatype='link'></field>
-			<field reporter:label='Note ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Copy' name='owning_copy' reporter:datatype='link'></field>
-			<field reporter:label='Is OPAC Visible?' name='pub' reporter:datatype='bool'></field>
-			<field reporter:label='Note Title' name='title' reporter:datatype='text'></field>
-			<field reporter:label='Note Content' name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='owning_copy' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='CREATE_COPY_NOTE'>
-                    <context field='circ_lib' link='owning_copy'></context>
-                </create>
-                <retrieve permission='VIEW_COPY_NOTES'>
-                    <context field='circ_lib' link='owning_copy'></context>
-                </retrieve>
-                <update permission='UPDATE_COPY_NOTE'>
-                    <context field='circ_lib' link='owning_copy'></context>
-                </update>
-                <delete permission='DELETE_COPY_NOTE'>
-                    <context field='circ_lib' link='owning_copy'></context>
-                </delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='metabib::full_rec' reporter:label='Flattened MARC Fields' controller='open-ils.cstore' oils_persist:tablename='metabib.full_rec' id='mfr'>
-		<fields oils_persist:sequence='metabib.full_rec_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Field ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Indicator 1' name='ind1' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Indicator 2' name='ind2' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Bib Record Entry' name='record' reporter:datatype='link'></field>
-			<field reporter:label='Subfield' name='subfield' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Tag' name='tag' reporter:datatype='text'></field>
-			<field reporter:label='Normalized Value' name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='record' reltype='has_a' class='bre' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='metabib::metarecord' reporter:label='Metarecord' controller='open-ils.cstore' oils_persist:tablename='metabib.metarecord' id='mmr'>
-		<fields oils_persist:sequence='metabib.metarecord_id_seq' oils_persist:primary='id'>
-			<field name='fingerprint' reporter:datatype='text'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='master_record' reporter:datatype='link'></field>
-			<field name='mods' reporter:datatype='text'></field>
-			<field name='source_records' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='master_record' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='source_records' reltype='has_many' class='mmrsm' key='metarecord' map='source'></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='config::net_access_level' reporter:label='Net Access Level' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.net_access_level' id='cnal'>
-		<fields oils_persist:sequence='config.net_access_level_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field name='name' reporter:datatype='text'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_NET_ACCESS_LEVEL'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='UPDATE_NET_ACCESS_LEVEL'></update>
-                <delete global_required='true' permission='DELETE_NET_ACCESS_LEVEL'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='permission::perm_list' reporter:label='Permission List' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='permission.perm_list' id='ppl'>
-		<fields oils_persist:sequence='permission.perm_list_id_seq' oils_persist:primary='id'>
-			<field name='code' reporter:datatype='text'></field>
-			<field name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field name='id' reporter:datatype='id' reporter:selector='code'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_PERM'></create>
-                <retrieve global_required='true' permission='CREATE_PERM UPDATE_PERM DELETE_PERM'></retrieve>
-                <update global_required='true' permission='UPDATE_PERM'></update>
-                <delete global_required='true' permission='DELETE_PERM'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Metarecord Source Map' oils_persist:tablename='metabib.metarecord_source_map' oils_obj:fieldmapper='metabib::metarecord_source_map' controller='open-ils.cstore' oils_persist:field_safe='true' id='mmrsm'>
-		<fields oils_persist:sequence='metabib.metarecord_source_map_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='metarecord' reporter:datatype='link'></field>
-			<field name='source' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='source' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='metarecord' reltype='has_a' class='mmr' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='metabib::keyword_field_entry' reporter:label='Keyword Field Entry' controller='open-ils.cstore' oils_persist:tablename='metabib.keyword_field_entry' id='mkfe'>
-		<fields oils_persist:sequence='metabib.keyword_field_entry_id_seq' oils_persist:primary='id'>
-			<field name='field' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='source' reporter:datatype='link'></field>
-			<field name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='source' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='field' reltype='has_a' class='cmf' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='money::cash_payment' reporter:label='Cash Payment' controller='open-ils.cstore' oils_persist:tablename='money.cash_payment' id='mcp'>
-		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'>
-			<field name='accepting_usr' reporter:datatype='link'></field>
-			<field name='amount' reporter:datatype='money'></field>
-			<field name='amount_collected' reporter:datatype='money'></field>
-			<field name='cash_drawer' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='note' reporter:datatype='text'></field>
-			<field name='payment_ts' reporter:datatype='timestamp'></field>
-			<field name='xact' reporter:datatype='link'></field>
-			<field name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-			<field name='payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link>
-			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='cash_drawer' reltype='has_a' class='aws' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='money::forgive_payment' reporter:label='Forgive Payment' controller='open-ils.cstore' oils_persist:tablename='money.forgive_payment' id='mfp'>
-		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'>
-			<field name='accepting_usr' reporter:datatype='link'></field>
-			<field name='amount' reporter:datatype='money'></field>
-			<field name='amount_collected' reporter:datatype='money'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='note' reporter:datatype='text'></field>
-			<field name='payment_ts' reporter:datatype='timestamp'></field>
-			<field name='xact' reporter:datatype='link'></field>
-			<field name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-			<field name='payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link>
-			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='metabib::record_descriptor' reporter:label='Basic Record Descriptor' controller='open-ils.cstore' oils_persist:tablename='metabib.rec_descriptor' id='mrd'>
-		<fields oils_persist:sequence='metabib.rec_descriptor_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Audn' name='audience' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='BLvl' name='bib_level' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Cat Form' name='cat_form' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Character Encoding' name='char_encoding' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Ctrl' name='control_type' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='ELvl' name='enc_level' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Descriptor ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Form' name='item_form' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Lang' name='item_lang' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Type' name='item_type' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='LitF' name='lit_form' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Pub Status' name='pub_status' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Bib Record Entry' name='record' reporter:datatype='link'></field>
-			<field reporter:label='TMat' name='type_mat' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Video Recording Format' name='vr_format' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Date1' name='date1' reporter:datatype='text' oils_persist:primitive='string'></field>
-			<field reporter:label='Date2' name='date2' reporter:datatype='text' oils_persist:primitive='string'></field>
-		</fields>
-		<links>
-			<link field='record' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='item_lang' reltype='has_a' class='clm' key='code' map=''></link>
-			<link field='item_type' reltype='has_a' class='citm' key='code' map=''></link>
-			<link field='bib_level' reltype='has_a' class='cblvl' key='code' map=''></link>
-			<link field='item_form' reltype='has_a' class='cifm' key='code' map=''></link>
-			<link field='audience' reltype='has_a' class='cam' key='code' map=''></link>
-			<link field='lit_form' reltype='has_a' class='clfm' key='code' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='config::standing_penalty' reporter:label='Standing Penalty' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.standing_penalty' id='csp'>
-		<fields oils_persist:sequence='config.standing_penalty_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='label' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field name='block_list' reporter:datatype='text'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_STANDING_PENALTY'></create>
-                <retrieve global_required='true' permission='ADMIN_STANDING_PENALTY VIEW_STANDING_PENALTY'></retrieve>
-                <update global_required='true' permission='ADMIN_STANDING_PENALTY'></update>
-                <delete global_required='true' permission='ADMIN_STANDING_PENALTY'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='permission::grp_penalty_threshold' reporter:label='Group Penalty Threshold' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='permission.grp_penalty_threshold' id='pgpt'>
-		<fields oils_persist:sequence='permission.grp_penalty_threshold_id_seq' oils_persist:primary='id'>
-			<field reporter:label='ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Group' name='grp' reporter:datatype='link'></field>
-			<field reporter:label='Penalty' name='penalty' reporter:datatype='link'></field>
-			<field reporter:label='Threshold' name='threshold' reporter:datatype='float'></field>
-			<field reporter:label='Org Unit' name='org_unit' reporter:datatype='org_unit'></field>
-		</fields>
-		<links>
-			<link field='penalty' reltype='has_a' class='csp' key='id' map=''></link>
-			<link field='grp' reltype='has_a' class='pgt' key='id' map=''></link>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-        </links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='org_unit' permission='ADMIN_GROUP_PENALTY_THRESHOLD'></create>
-                <retrieve context_field='org_unit' permission='VIEW_GROUP_PENALTY_THRESHOLD ADMIN_GROUP_PENALTY_THRESHOLD'></retrieve>
-                <update context_field='org_unit' permission='ADMIN_GROUP_PENALTY_THRESHOLD'></update>
-                <delete context_field='org_unit' permission='ADMIN_GROUP_PENALTY_THRESHOLD'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Copy Status' oils_persist:tablename='config.copy_status' oils_obj:fieldmapper='config::copy_status' controller='open-ils.cstore open-ils.pcrud' id='ccs' oils_persist:restrict_primary='100'>
-		<fields oils_persist:sequence='config.copy_status_id_seq' oils_persist:primary='id'>
-			<field name='holdable' reporter:datatype='bool'></field>
-			<field name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field name='opac_visible' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_COPY_STATUS'></create>
-                <retrieve global_required='true' permission='CREATE_COPY_STATUS UPDATE_COPY_STATUS DELETE_COPY_STATUS'></retrieve>
-                <update global_required='true' permission='UPDATE_COPY_STATUS'></update>
-                <delete global_required='true' permission='DELETE_COPY_STATUS'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='User Standing Penalty' oils_persist:tablename='actor.usr_standing_penalty' oils_obj:fieldmapper='actor::user_standing_penalty' controller='open-ils.cstore open-ils.pcrud' id='ausp' oils_persist:restrict_primary='100'>
-		<fields oils_persist:sequence='actor.usr_standing_penalty_id_seq' oils_persist:primary='id'>
-			<field reporter:label='ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Set Date' name='set_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='User' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Staff' name='staff' reporter:datatype='link'></field>
-			<field reporter:label='Standing Penalty' name='standing_penalty' reporter:datatype='link'></field>
-			<field reporter:label='Org Unit' name='org_unit' reporter:datatype='link'></field>
-			<field reporter:label='Stop Date' name='stop_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='standing_penalty' reltype='has_a' class='csp' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create permission='UPDATE_USER'><context field='home_ou' link='usr'></context></create>
-				<retrieve permission='VIEW_USER'><context field='home_ou' link='usr'></context></retrieve>
-				<update permission='UPDATE_USER'><context field='home_ou' link='usr'></context></update>
-				<delete permission='UPDATE_USER'><context field='home_ou' link='usr'></context></delete>
-			</actions>
-		</permacrud>
-	</class>
-	<class oils_obj:fieldmapper='actor::user_address' reporter:label='User Address' controller='open-ils.cstore' oils_persist:tablename='actor.usr_address' id='aua'>
-		<fields oils_persist:sequence='actor.usr_address_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Type' name='address_type' reporter:datatype='text'></field>
-			<field reporter:label='City' name='city' reporter:datatype='text'></field>
-			<field reporter:label='Country' name='country' reporter:datatype='text'></field>
-			<field reporter:label='County' name='county' reporter:datatype='text'></field>
-			<field reporter:label='Address ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Postal Code' name='post_code' reporter:datatype='text'></field>
-			<field reporter:label='State' name='state' reporter:datatype='text'></field>
-			<field reporter:label='Street (1)' name='street1' reporter:datatype='text'></field>
-			<field reporter:label='Street (2)' name='street2' reporter:datatype='text'></field>
-			<field reporter:label='User' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Valid Address?' name='valid' reporter:datatype='bool'></field>
-			<field reporter:label='Within City Limits?' name='within_city_limits' reporter:datatype='bool'></field>
-			<field reporter:label='Replaces' name='replaces' reporter:datatype='link'></field>
-			<field reporter:label='Pending' name='pending' reporter:datatype='bool'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='replaces' reltype='has_a' class='aua' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='asset::call_number_note' reporter:label='Call Number Note' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='asset.call_number_note' id='acnn'>
-		<fields oils_persist:sequence='asset.call_number_note_id_seq' oils_persist:primary='id'>
-			<field name='call_number'></field>
-			<field name='create_date' reporter:datatype='timestamp'></field>
-			<field name='creator' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='pub' reporter:datatype='bool'></field>
-			<field name='title' reporter:datatype='text'></field>
-			<field name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='call_number' reltype='has_a' class='acn' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='CREATE_VOLUME_NOTE'>
-                    <context field='owning_lib' link='call_number'></context>
-                </create>
-                <retrieve permission='VIEW_VOLUME_NOTES'>
-                    <context field='owning_lib' link='call_number'></context>
-                </retrieve>
-                <update permission='UPDATE_VOLUME_NOTE'>
-                    <context field='owning_lib' link='call_number'></context>
-                </update>
-                <delete permission='DELETE_VOLUME_NOTE'>
-                    <context field='owning_lib' link='call_number'></context>
-                </delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='authority::record_note' reporter:label='Authority Record Note' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='authority.record_note' id='arn'>
-		<fields oils_persist:sequence='authority.record_note_id_seq' oils_persist:primary='id'>
-			<field name='create_date' reporter:datatype='timestamp'></field>
-			<field name='creator' reporter:datatype='link'></field>
-			<field name='edit_date' reporter:datatype='timestamp'></field>
-			<field name='editor' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='record' reporter:datatype='link'></field>
-			<field name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='record' reltype='has_a' class='are' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_AUTHORITY_RECORD_NOTE'></create>
-                <retrieve global_required='true' permission='VIEW_AUTHORITY_RECORD_NOTES'></retrieve>
-                <update global_required='true' permission='UPDATE_AUTHORITY_RECORD_NOTE'></update>
-                <delete global_required='true' permission='DELETE_AUTHORITY_RECORD_NOTE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Circulation' oils_persist:tablename='action.circulation' reporter:core='true' oils_obj:fieldmapper='action::circulation' controller='open-ils.cstore' id='circ'>
-		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Check In Library' name='checkin_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Check In Staff' name='checkin_staff' reporter:datatype='link'></field>
-			<field reporter:label='Check In Date/Time' name='checkin_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Circulating Staff' name='circ_staff' reporter:datatype='link'></field>
-			<field reporter:label='Desk Renewal' name='desk_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Due Date/Time' name='due_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulation Duration' name='duration' reporter:datatype='interval'></field>
-			<field reporter:label='Circ Duration Rule' name='duration_rule' reporter:datatype='link'></field>
-			<field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field>
-			<field reporter:label='Circ ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field>
-			<field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field>
-			<field reporter:label='OPAC Renewal' name='opac_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Phone Renewal' name='phone_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Recurring Fine Amount' name='recuring_fine' reporter:datatype='money'></field>
-			<field reporter:label='Recurring Fine Rule' name='recuring_fine_rule' reporter:datatype='link'></field>
-			<field reporter:label='Remaining Renewals' name='renewal_remaining' reporter:datatype='int'></field>
-			<field reporter:label='Fine Stop Reason' name='stop_fines' reporter:datatype='text'></field>
-			<field reporter:label='Fine Stop Date/Time' name='stop_fines_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulating Item' name='target_copy' reporter:datatype='link'></field>
-			<field reporter:label='Patron' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field>
-			<field reporter:label='Check Out Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
-			<field reporter:label='Record Creation Date/Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Transaction Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Base Transaction' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link>
-			<link field='circ_staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='checkin_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='checkin_staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link>
-			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link>
-			<link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link>
-			<link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link>
-			<link field='recuring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link>
-			<link field='circ_type' reltype='might_have' class='rcirct' key='id' map=''></link>
-			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link>
-			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Combined Aged and Active Circulations' oils_persist:tablename='action.all_circulation' reporter:core='true' oils_obj:fieldmapper='action::all_circulation' controller='open-ils.cstore' id='combcirc' oils_persist:readonly='true'>
-		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Check In Library' name='checkin_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Check In Staff' name='checkin_staff' reporter:datatype='link'></field>
-			<field reporter:label='Check In Date/Time' name='checkin_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Circulating Staff' name='circ_staff' reporter:datatype='link'></field>
-			<field reporter:label='Desk Renewal' name='desk_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Due Date/Time' name='due_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulation Duration' name='duration' reporter:datatype='interval'></field>
-			<field reporter:label='Circ Duration Rule' name='duration_rule' reporter:datatype='link'></field>
-			<field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field>
-			<field reporter:label='Circ ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field>
-			<field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field>
-			<field reporter:label='OPAC Renewal' name='opac_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Phone Renewal' name='phone_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Recurring Fine Amount' name='recuring_fine' reporter:datatype='money'></field>
-			<field reporter:label='Recurring Fine Rule' name='recuring_fine_rule' reporter:datatype='link'></field>
-			<field reporter:label='Remaining Renewals' name='renewal_remaining' reporter:datatype='int'></field>
-			<field reporter:label='Fine Stop Reason' name='stop_fines' reporter:datatype='text'></field>
-			<field reporter:label='Fine Stop Date/Time' name='stop_fines_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulating Item' name='target_copy' reporter:datatype='link'></field>
-			<field reporter:label='Patron ZIP' name='usr_post_code' reporter:datatype='text'></field>
-			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field>
-			<field reporter:label='Check Out Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
-			<field reporter:label='Record Creation Date/Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Transaction Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Base Transaction' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-			<field reporter:label='Patron Home Library' name='usr_home_ou' reporter:datatype='link'></field>
-			<field reporter:label='Patron Profile Group' name='usr_profile' reporter:datatype='link'></field>
-			<field reporter:label='Patron Birth Year' name='usr_birth_year' reporter:datatype='int'></field>
-			<field reporter:label='Call Number' name='copy_call_number' reporter:datatype='link'></field>
-			<field reporter:label='Shelving Location' name='copy_location' reporter:datatype='link'></field>
-			<field reporter:label='Copy Owning Library' name='copy_owning_lib' reporter:datatype='link'></field>
-			<field reporter:label='Copy Circulating Library' name='copy_circ_lib' reporter:datatype='link'></field>
-			<field reporter:label='Bib Record' name='copy_bib_record' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link>
-			<link field='circ_staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='checkin_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='checkin_staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link>
-			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link>
-			<link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link>
-			<link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link>
-			<link field='recuring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link>
-			<link field='circ_type' reltype='might_have' class='rcirct' key='id' map=''></link>
-			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link>
-			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link>
-			<link field='copy_call_number' reltype='has_a' class='acn' key='id' map=''></link>
-			<link field='copy_location' reltype='has_a' class='acpl' key='id' map=''></link>
-			<link field='copy_owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='copy_circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='copy_bib_record' reltype='has_a' class='bre' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Aged (patronless) Circulation' oils_persist:tablename='action.aged_circulation' reporter:core='true' oils_obj:fieldmapper='action::aged_circulation' controller='open-ils.cstore' id='acirc'>
-		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Check In Library' name='checkin_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Check In Staff' name='checkin_staff' reporter:datatype='link'></field>
-			<field reporter:label='Check In Date/Time' name='checkin_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Circulating Staff' name='circ_staff' reporter:datatype='link'></field>
-			<field reporter:label='Desk Renewal' name='desk_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Due Date/Time' name='due_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulation Duration' name='duration' reporter:datatype='interval'></field>
-			<field reporter:label='Circ Duration Rule' name='duration_rule' reporter:datatype='link'></field>
-			<field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field>
-			<field reporter:label='Circ ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field>
-			<field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field>
-			<field reporter:label='OPAC Renewal' name='opac_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Phone Renewal' name='phone_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Recurring Fine Amount' name='recuring_fine' reporter:datatype='money'></field>
-			<field reporter:label='Recurring Fine Rule' name='recuring_fine_rule' reporter:datatype='link'></field>
-			<field reporter:label='Remaining Renewals' name='renewal_remaining' reporter:datatype='int'></field>
-			<field reporter:label='Fine Stop Reason' name='stop_fines' reporter:datatype='text'></field>
-			<field reporter:label='Fine Stop Date/Time' name='stop_fines_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulating Item' name='target_copy' reporter:datatype='link'></field>
-			<field reporter:label='Patron ZIP' name='usr_post_code' reporter:datatype='text'></field>
-			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field>
-			<field reporter:label='Check Out Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
-			<field reporter:label='Record Creation Date/Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Transaction Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Base Transaction' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-			<field reporter:label='Patron Home Library' name='usr_home_ou' reporter:datatype='link'></field>
-			<field reporter:label='Patron Profile Group' name='usr_profile' reporter:datatype='link'></field>
-			<field reporter:label='Patron Birth Year' name='usr_birth_year' reporter:datatype='int'></field>
-			<field reporter:label='Call Number' name='copy_call_number' reporter:datatype='link'></field>
-			<field reporter:label='Shelving Location' name='copy_location' reporter:datatype='link'></field>
-			<field reporter:label='Copy Owning Library' name='copy_owning_lib' reporter:datatype='link'></field>
-			<field reporter:label='Copy Circulating Library' name='copy_circ_lib' reporter:datatype='link'></field>
-			<field reporter:label='Bib Record' name='copy_bib_record' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link>
-			<link field='circ_staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='checkin_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='checkin_staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link>
-			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link>
-			<link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link>
-			<link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link>
-			<link field='recuring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link>
-			<link field='circ_type' reltype='might_have' class='rcirct' key='id' map=''></link>
-			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link>
-			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link>
-			<link field='copy_call_number' reltype='has_a' class='acn' key='id' map=''></link>
-			<link field='copy_location' reltype='has_a' class='acpl' key='id' map=''></link>
-			<link field='copy_owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='copy_circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='copy_bib_record' reltype='has_a' class='bre' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::call_number_bucket_item' reporter:label='Call Number Bucket Item' controller='open-ils.cstore' oils_persist:tablename='container.call_number_bucket_item' id='ccnbi'>
-		<fields oils_persist:sequence='container.call_number_bucket_item_id_seq' oils_persist:primary='id'>
-			<field name='bucket' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='target_call_number' reporter:datatype='link'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-			<field name='pos' reporter:datatype='int'></field>
-			<field name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='target_call_number' reltype='has_a' class='acn' key='id' map=''></link>
-			<link field='bucket' reltype='has_a' class='ccnb' key='id' map=''></link>
-            <link field='notes' reltype='has_many' class='ccnbin' key='item' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::call_number_bucket_item_note' reporter:label='Call Number Bucket Item Note' controller='open-ils.cstore' oils_persist:tablename='container.call_number_bucket_item_note' id='ccnbin'>
-		<fields oils_persist:sequence='container.call_number_bucket_item_note_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='item' reporter:datatype='link'></field>
-			<field name='note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='item' reltype='has_a' class='ccnbi' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::biblio_record_entry_bucket' reporter:label='Bibliographic Record Entry Bucket' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket' id='cbreb'>
-		<fields oils_persist:sequence='container.biblio_record_entry_bucket_id_seq' oils_persist:primary='id'>
-			<field name='items' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='btype' reporter:datatype='text'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='owner' reporter:datatype='link'></field>
-			<field name='pub' reporter:datatype='bool'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='items' reltype='has_many' class='cbrebi' key='bucket' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::biblio_record_entry_bucket_note' reporter:label='Bibliographic Record Entry Bucket Note' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_note' id='cbrebn'>
-		<fields oils_persist:sequence='container.biblio_record_entry_bucket_note_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='bucket' reporter:datatype='link'></field>
-			<field name='note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='bucket' reltype='has_a' class='cbreb' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='action::hold_copy_map' reporter:label='Hold Copy Map' controller='open-ils.cstore' oils_persist:tablename='action.hold_copy_map' id='ahcm'>
-		<fields oils_persist:sequence='action.hold_copy_map_id_seq' oils_persist:primary='id'>
-			<field name='hold' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='target_copy' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='hold' reltype='has_a' class='ahr' key='id' map=''></link>
-			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='action::hold_notification' reporter:label='Hold Notification' controller='open-ils.cstore' oils_persist:tablename='action.hold_notification' id='ahn'>
-		<fields oils_persist:sequence='action.hold_notification_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Hold' name='hold' reporter:datatype='link'></field>
-			<field reporter:label='Notification ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Notification Method' name='method' reporter:datatype='text'></field>
-			<field reporter:label='Notification Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Notifying Staff' name='notify_staff' reporter:datatype='link'></field>
-			<field reporter:label='Notification Date/Time' name='notify_time' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='hold' reltype='has_a' class='ahr' key='id' map=''></link>
-			<link field='notify_staff' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='asset::copy_location' reporter:label='Copy/Shelving Location' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='asset.copy_location' id='acpl'>
-		<fields oils_persist:sequence='asset.copy_location_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Can Circulate?' name='circulate' reporter:datatype='bool'></field>
-			<field reporter:label='Is Holdable?' name='holdable' reporter:datatype='bool'></field>
-			<field reporter:label='Hold Capture Requires Verification' name='hold_verify' reporter:datatype='bool'></field>
-			<field reporter:label='Location ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Is OPAC Visible?' name='opac_visible' reporter:datatype='bool'></field>
-			<field reporter:label='Owning Org Unit' name='owning_lib' reporter:datatype='org_unit'></field>
-		</fields>
-		<links>
-			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='distribution_formula_entries' reltype='has_many' class='acqdfe' key='location' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owning_lib' permission='CREATE_COPY_LOCATION'></create>
-                <retrieve></retrieve>
-                <update context_field='owning_lib' permission='UPDATE_COPY_LOCATION'></update>
-                <delete context_field='owning_lib' permission='DELETE_COPY_LOCATION'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='serial::virtual_record' reporter:label='Serial Virtual Record' controller='open-ils.cstore' id='svr' oils_persist:virtual='true'>
-		<fields>
-			<field name='id' oils_persist:virtual='true'></field>
-			<field name='location' oils_persist:virtual='true'></field>
-			<field name='owning_lib' oils_persist:virtual='true'></field>
-			<field name='holdings' oils_persist:virtual='true'></field>
-			<field name='current_holdings' oils_persist:virtual='true'></field>
-			<field name='supplements' oils_persist:virtual='true'></field>
-			<field name='current_supplements' oils_persist:virtual='true'></field>
-			<field name='indexes' oils_persist:virtual='true'></field>
-			<field name='current_indexes' oils_persist:virtual='true'></field>
-			<field name='online' oils_persist:virtual='true'></field>
-			<field name='missing' oils_persist:virtual='true'></field>
-			<field name='incomplete' oils_persist:virtual='true'></field>
-		</fields>
-	</class>
-	<class oils_obj:fieldmapper='serial::record_entry' reporter:label='Serial Record Entry' controller='open-ils.pcrud open-ils.cstore' oils_persist:tablename='serial.record_entry' id='sre'>
-		<fields oils_persist:sequence='serial.record_entry_id_seq' oils_persist:primary='id'>
-			<field name='active' reporter:datatype='bool'></field>
-			<field reporter:label='Bib Record' name='record' reporter:datatype='link'></field>
-			<field name='create_date' reporter:datatype='timestamp'></field>
-			<field name='creator'></field>
-			<field name='deleted' reporter:datatype='bool'></field>
-			<field name='edit_date' reporter:datatype='timestamp'></field>
-			<field name='editor'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='last_xact_id'></field>
-			<field name='marc'></field>
-			<field name='source'></field>
-			<field reporter:label='Owning Org Unit' name='owning_lib' reporter:datatype='org_unit'></field>
-		</fields>
-		<links>
-			<link field='record' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create context_field='owning_lib' permission='CREATE_MFHD_RECORD'></create>
-				<retrieve></retrieve>
-				<update context_field='owning_lib' permission='UPDATE_MFHD_RECORD'></update>
-				<delete context_field='owning_lib' permission='DELETE_MFHD_RECORD'></delete>
-			</actions>
-		</permacrud>
-	</class>
-	<class oils_obj:fieldmapper='serial::subscription' reporter:label='Subscription' controller='open-ils.cstore' oils_persist:tablename='serial.subscription' id='ssub'>
-		<fields oils_persist:sequence='serial.subscription_id_seq' oils_persist:primary='id'>
-			<field name='active' reporter:datatype='bool'></field>
-			<field reporter:label='Call Number' name='call_number' reporter:datatype='link'></field>
-			<field reporter:label='URI' name='uri' reporter:datatype='link'></field>
-			<field reporter:label='Start date' name='start_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='End date' name='end_date' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='call_number' reltype='might_have' class='acn' key='id' map=''></link>
-			<link field='uri' reltype='might_have' class='auri' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='serial::binding_unit' reporter:label='Binding Unit' controller='open-ils.cstore' oils_persist:tablename='serial.binding_unit' id='sbu'>
-		<fields oils_persist:sequence='serial.binding_unit_id_seq' oils_persist:primary='id'>
-			<field name='active' reporter:datatype='bool'></field>
-			<field reporter:label='Subscription' name='subscription' reporter:datatype='link'></field>
-			<field reporter:label='Label' name='label'></field>
-		</fields>
-		<links>
-			<link field='subscription' reltype='has_a' class='ssub' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='serial::issuance' reporter:label='Issuance' controller='open-ils.cstore' oils_persist:tablename='serial.issuance' id='siss'>
-		<fields oils_persist:sequence='serial.issuance_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='subscription' reporter:datatype='link'></field>
-			<field name='target_copy' reporter:datatype='link'></field>
-			<field name='location' reporter:datatype='link'></field>
-			<field name='binding_unit' reporter:datatype='link'></field>
-			<field name='label'></field>
-		</fields>
-		<links>
-			<link field='subscription' reltype='has_a' class='ssub' key='id' map=''></link>
-			<link field='target_copy' reltype='might_have' class='acp' key='id' map=''></link>
-			<link field='location' reltype='might_have' class='acpl' key='id' map=''></link>
-			<link field='binding_unit' reltype='might_have' class='sbu' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='serial::bib_summary' reporter:label='Bib Summary' controller='open-ils.cstore' oils_persist:tablename='serial.bib_summary' id='sbsum'>
-		<fields oils_persist:sequence='serial.bib_summary_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='subscription' reporter:datatype='link'></field>
-			<field name='generated_coverage' reporter:datatype='text'></field>
-			<field name='textual_holdings' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='subscription' reltype='has_a' class='ssub' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='serial::sup_summary' reporter:label='Supplemental Issue Summary' controller='open-ils.cstore' oils_persist:tablename='serial.sup_summary' id='sssum'>
-		<fields oils_persist:sequence='serial.sup_summary_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='subscription' reporter:datatype='link'></field>
-			<field name='generated_coverage' reporter:datatype='text'></field>
-			<field name='textual_holdings' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='subscription' reltype='has_a' class='ssub' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='serial::index_summary' reporter:label='Index Summary' controller='open-ils.cstore' oils_persist:tablename='serial.index_summary' id='sisum'>
-		<fields oils_persist:sequence='serial.index_summary_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='subscription' reporter:datatype='link'></field>
-			<field name='generated_coverage' reporter:datatype='text'></field>
-			<field name='textual_holdings' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='subscription' reltype='has_a' class='ssub' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='asset::stat_cat_entry_copy_map' reporter:label='Statistical Category Entry Copy Map' controller='open-ils.cstore' oils_persist:tablename='asset.stat_cat_entry_copy_map' id='ascecm'>
-		<fields oils_persist:sequence='asset.stat_cat_entry_copy_map_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='owning_copy' reporter:datatype='link'></field>
-			<field name='stat_cat' reporter:datatype='link'></field>
-			<field name='stat_cat_entry' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='owning_copy' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='stat_cat_entry' reltype='has_a' class='asce' key='id' map=''></link>
-			<link field='stat_cat' reltype='has_a' class='asc' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Item Type Map' oils_persist:tablename='config.item_type_map' oils_obj:fieldmapper='config::item_type_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='citm'>
-		<fields oils_persist:primary='code'>
-			<field reporter:label='Item Type Code' name='code' reporter:datatype='text' reporter:selector='value'></field>
-			<field reporter:label='Item Type' name='value' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_MARC_CODE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_MARC_CODE'></update>
-                <delete global_required='true' permission='ADMIN_MARC_CODE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Bib Level Map' oils_persist:tablename='config.bib_level_map' oils_obj:fieldmapper='config::bib_level_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cblvl'>
-		<fields oils_persist:primary='code'>
-			<field reporter:label='Bib Level Code' name='code' reporter:datatype='text'></field>
-			<field reporter:label='Bib Level' name='value' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_MARC_CODE'></create>
-                <retrieve global_required='true' permission='CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE'></retrieve>
-                <update global_required='true' permission='UPDATE_MARC_CODE'></update>
-                <delete global_required='true' permission='DELETE_MARC_CODE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='search::relevance_adjustment' reporter:label='Relevance Adjustment' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='search.relevance_adjustment' id='sra'>
-		<fields oils_persist:sequence='search.relevance_adjustment_id_seq' oils_persist:primary='id'>
-			<field reporter:label='ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Active' name='active' reporter:datatype='bool'></field>
-			<field reporter:label='Index Field' name='field' reporter:datatype='link'></field>
-			<field reporter:label='Bump Type' name='bump_type' reporter:datatype='text'></field>
-			<field reporter:label='Multiplier' name='multiplier' reporter:datatype='number'></field>
-		</fields>
-		<links>
-            <link field='field' reltype='has_a' class='cmf' key='id' map=''></link>
-        </links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_RELEVANCE_ADJUSTMENT'></create>
-                <retrieve global_required='true' permission='CREATE_RELEVANCE_ADJUSTMENT UPDATE_RELEVANCE_ADJUSTMENT DELETE_RELEVANCE_ADJUSTMENT'></retrieve>
-                <update global_required='true' permission='UPDATE_RELEVANCE_ADJUSTMENT'></update>
-                <delete global_required='true' permission='DELETE_RELEVANCE_ADJUSTMENT'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='actor::org_lasso' reporter:label='Org Lasso' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.org_lasso' id='lasso'>
-		<fields oils_persist:sequence='actor.org_lasso_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='name' reporter:datatype='text'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_LASSO'></create>
-                <retrieve global_required='true' permission='CREATE_LASSO UPDATE_LASSO DELETE_LASSO'></retrieve>
-                <update global_required='true' permission='UPDATE_LASSO'></update>
-                <delete global_required='true' permission='DELETE_LASSO'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='actor::org_lasso_map' reporter:label='Org Lasso Map' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.org_lasso_map' id='lmap'>
-		<fields oils_persist:sequence='actor.org_lasso_map_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='lasso' reporter:datatype='link'></field>
-			<field name='org_unit' reporter:datatype='org_unit'></field>
-		</fields>
-		<links>
-			<link field='lasso' reltype='has_a' class='lasso' key='id' map=''></link>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_LASSO_MAP'></create>
-                <retrieve global_required='true' permission='CREATE_LASSO_MAP UPDATE_LASSO_MAP DELETE_LASSO_MAP'></retrieve>
-                <update global_required='true' permission='UPDATE_LASSO_MAP'></update>
-                <delete global_required='true' permission='DELETE_LASSO_MAP'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='actor::org_unit_proximity' reporter:label='Org Unit Proximity' controller='open-ils.cstore' oils_persist:tablename='actor.org_unit_proximity' id='aoup'>
-		<fields oils_persist:sequence='actor.org_unit_proximity_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='from_org' reporter:datatype='org_unit'></field>
-			<field name='to_org' reporter:datatype='org_unit'></field>
-			<field name='prox' reporter:datatype='int'></field>
-		</fields>
-		<links>
-			<link field='from_org' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='to_org' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Search Result' oils_persist:tablename='search.search_result' oils_obj:fieldmapper='search::search_result' controller='open-ils.cstore' id='ssr' oils_persist:readonly='true'>
-		<fields oils_persist:sequence='actor.org_unit_proximity_id_seq' oils_persist:primary='id'>
-			<field reporter:label='ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Relevance' name='rel' reporter:datatype='float'></field>
-			<field reporter:label='Record' name='record' reporter:datatype='link'></field>
-			<field reporter:label='Total Results' name='total' reporter:datatype='int'></field>
-			<field reporter:label='Checked' name='checked' reporter:datatype='int'></field>
-			<field reporter:label='Visible' name='visible' reporter:datatype='int'></field>
-			<field reporter:label='Deleted' name='deleted' reporter:datatype='int'></field>
-			<field reporter:label='Excluded' name='excluded' reporter:datatype='int'></field>
-		</fields>
-		<links></links>
-	</class>
-	<class oils_obj:fieldmapper='action::survey' reporter:label='Survey' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action.survey' id='asv'>
-		<fields oils_persist:sequence='action.survey_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Questions' name='questions' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Responses' name='responses' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text'></field>
-			<field reporter:label='Survey End Date/Time' name='end_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Survey ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='OPAC Survey?' name='opac' reporter:datatype='bool'></field>
-			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field>
-			<field reporter:label='Poll Style?' name='poll' reporter:datatype='bool'></field>
-			<field reporter:label='Is Required?' name='required' reporter:datatype='bool'></field>
-			<field reporter:label='Survey Start Date/Time' name='start_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Display in User Summary' name='usr_summary' reporter:datatype='bool'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='responses' reltype='has_many' class='asvr' key='survey' map=''></link>
-			<link field='questions' reltype='has_many' class='asvq' key='survey' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owner' permission='ADMIN_SURVEY'></create>
-                <retrieve></retrieve>
-                <update context_field='owner' permission='ADMIN_SURVEY'></update>
-                <delete context_field='owner' permission='ADMIN_SURVEY'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='actor::org_address' reporter:label='Org Address' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.org_address' id='aoa'>
-		<fields oils_persist:sequence='actor.org_address_id_seq' oils_persist:primary='id'>
-			<field name='address_type' reporter:datatype='text'></field>
-			<field name='city' reporter:datatype='text'></field>
-			<field name='country' reporter:datatype='text'></field>
-			<field name='county' reporter:datatype='text'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='org_unit' reporter:datatype='org_unit'></field>
-			<field name='post_code' reporter:datatype='text'></field>
-			<field name='state' reporter:datatype='text'></field>
-			<field name='street1' reporter:datatype='text'></field>
-			<field name='street2' reporter:datatype='text'></field>
-			<field name='valid' reporter:datatype='bool'></field>
-		</fields>
-		<links>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='org_unit' permission='CREATE_ORG_ADDRESS'></create>
-                <retrieve></retrieve>
-                <update context_field='org_unit' permission='UPDATE_ORG_ADDRESS'></update>
-                <delete context_field='org_unit' permission='DELETE_ORG_ADDRESS'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Hold Request' oils_persist:tablename='action.hold_request' reporter:core='true' oils_obj:fieldmapper='action::hold_request' controller='open-ils.cstore' id='ahr'>
-		<fields oils_persist:sequence='action.hold_request_id_seq' oils_persist:primary='id'>
-			<field name='status' oils_persist:virtual='true'></field>
-			<field reporter:label='Transit' name='transit' oils_persist:virtual='true'></field>
-			<field reporter:label='Capture Date/Time' name='capture_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Currently Targeted Copy' name='current_copy'></field>
-			<field reporter:label='Notify by Email?' name='email_notify' reporter:datatype='bool'></field>
-			<field reporter:label='Hold Expire Date/Time' name='expire_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Fulfilling Library' name='fulfillment_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Fulfilling Staff' name='fulfillment_staff'></field>
-			<field reporter:label='Fulfillment Date/Time' name='fulfillment_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Hold Type' name='hold_type' reporter:datatype='text'></field>
-			<field reporter:label='Holdable Formats (for M-type hold)' name='holdable_formats' reporter:datatype='text'></field>
-			<field reporter:label='Hold ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Notifications Phone Number' name='phone_notify' reporter:datatype='text'></field>
-			<field reporter:label='Pickup Library' name='pickup_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Last Targeting Date/Time' name='prev_check_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Requesting Library' name='request_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Request Date/Time' name='request_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Requesting User' name='requestor' reporter:datatype='link'></field>
-			<field reporter:label='Item Selection Depth' name='selection_depth'></field>
-			<field reporter:label='Selection Locus' name='selection_ou' reporter:datatype='org_unit'></field>
-			<field reporter:label='Target Object ID' name='target' reporter:datatype='link'></field>
-			<field reporter:label='Hold User' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Hold Cancel Date/Time' name='cancel_time' reporter:datatype='timestamp'></field>
-			<field name='notify_time' reporter:datatype='timestamp' oils_persist:virtual='true'></field>
-			<field name='notify_count' reporter:datatype='int' oils_persist:virtual='true'></field>
-			<field reporter:label='Notifications' name='notifications' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Bib Record link' name='bib_rec' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Eligible Copies' name='eligible_copies' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Currently Frozen' name='frozen' reporter:datatype='bool'></field>
-			<field reporter:label='Thaw Date (if frozen)' name='thaw_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Cancelation cause' name='cancel_cause' reporter:datatype='link'></field>
-			<field reporter:label='Cancelation note' name='cancel_note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='fulfillment_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='fulfillment_staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='pickup_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='selection_ou' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='requestor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='current_copy' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='request_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='transit' reltype='might_have' class='ahtc' key='hold' map=''></link>
-			<link field='notifications' reltype='has_many' class='ahn' key='hold' map=''></link>
-			<link field='eligible_copies' reltype='has_many' class='ahcm' key='hold' map='target_copy'></link>
-			<link field='bib_rec' reltype='might_have' class='rhrr' key='id' map=''></link>
-			<link field='cancel_cause' reltype='might_have' class='ahrcc' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Organizational Unit' oils_persist:tablename='actor.org_unit' oils_obj:fieldmapper='actor::org_unit' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='aou'>
-		<fields oils_persist:sequence='actor.org_unit_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Subordinate Organizational Units' name='children' reporter:datatype='org_unit' oils_persist:virtual='true'></field>
-			<field reporter:label='Billing Address' name='billing_address' reporter:datatype='link'></field>
-			<field reporter:label='Holds Receiving Address' name='holds_address' reporter:datatype='link'></field>
-			<field reporter:label='Organizational Unit ID' name='id' reporter:datatype='org_unit' reporter:selector='shortname'></field>
-			<field reporter:label='ILL Receiving Address' name='ill_address' reporter:datatype='link'></field>
-			<field reporter:label='Mailing Address' name='mailing_address' reporter:datatype='link'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Organizational Unit Type' name='ou_type' reporter:datatype='link'></field>
-			<field reporter:label='Parent Organizational Unit' name='parent_ou' reporter:datatype='link'></field>
-			<field reporter:label='Short (Policy) Name' name='shortname' reporter:datatype='text'></field>
-			<field reporter:label='Email Address' name='email' reporter:datatype='text'></field>
-			<field reporter:label='Phone Number' name='phone' reporter:datatype='text'></field>
-			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field>
-			<field reporter:label='Users' name='users' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Closed Dates' name='closed_dates' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Circulations' name='circulations' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Settings' name='settings' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Addresses' name='addresses' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Checkins' name='checkins' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Workstations' name='workstations' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='billing_address' reltype='has_a' class='aoa' key='id' map=''></link>
-			<link field='holds_address' reltype='has_a' class='aoa' key='id' map=''></link>
-			<link field='ou_type' reltype='has_a' class='aout' key='id' map=''></link>
-			<link field='mailing_address' reltype='has_a' class='aoa' key='id' map=''></link>
-			<link field='parent_ou' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='ill_address' reltype='has_a' class='aoa' key='id' map=''></link>
-			<link field='users' reltype='has_many' class='au' key='home_ou' map=''></link>
-			<link field='closed_dates' reltype='has_many' class='aoucd' key='org_unit' map=''></link>
-			<link field='children' reltype='has_many' class='aou' key='parent_ou' map=''></link>
-			<link field='circulations' reltype='has_many' class='circ' key='circ_lib' map=''></link>
-			<link field='settings' reltype='has_many' class='aous' key='org_unit' map=''></link>
-			<link field='addresses' reltype='has_many' class='aoa' key='org_unit' map=''></link>
-			<link field='checkins' reltype='has_many' class='circ' key='checkin_lib' map=''></link>
-			<link field='workstations' reltype='has_many' class='aws' key='owning_lib' map=''></link>
-			<link field='distribution_formulas' reltype='has_many' class='acqdf' key='owner' map=''></link>
-			<link field='distribution_formula_entries' reltype='has_many' class='acqdfe' key='owning_lib' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='parent_ou' permission='CREATE_ORG_UNIT'></create>
-                <retrieve permission='CREATE_ORG_UNIT UPDATE_ORG_UNIT DELETE_ORG_UNIT'>
-                    <context field='id'></context>
-                    <context field='parent_ou'></context>
-				</retrieve>
-                <update context_field='id' permission='UPDATE_ORG_UNIT'></update>
-                <delete context_field='parent_ou' permission='DELETE_ORG_UNIT'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='container::call_number_bucket' reporter:label='Call Number Bucket' controller='open-ils.cstore' oils_persist:tablename='container.call_number_bucket' id='ccnb'>
-		<fields oils_persist:sequence='container.call_number_bucket_id_seq' oils_persist:primary='id'>
-			<field name='items' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='btype' reporter:datatype='text'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='owner' reporter:datatype='link'></field>
-			<field name='pub' reporter:datatype='bool'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='items' reltype='has_many' class='ccnbi' key='bucket' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::call_number_bucket_note' reporter:label='Call Number Bucket Note' controller='open-ils.cstore' oils_persist:tablename='container.call_number_bucket_note' id='ccnbn'>
-		<fields oils_persist:sequence='container.call_number_bucket_note_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='bucket' reporter:datatype='link'></field>
-			<field name='note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='bucket' reltype='has_a' class='ccnb' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='asset::stat_cat' reporter:label='Asset Statistical Category' controller='open-ils.cstore' oils_persist:tablename='asset.stat_cat' id='asc'>
-		<fields oils_persist:sequence='asset.stat_cat_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Entries' name='entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Stat Cat ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field>
-			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='entries' reltype='has_many' class='asce' key='stat_cat' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='actor::card' reporter:label='Library Card' controller='open-ils.cstore' oils_persist:tablename='actor.card' id='ac'>
-		<fields oils_persist:sequence='actor.card_id_seq' oils_persist:primary='id'>
-			<field reporter:label='IsActive?' name='active' reporter:datatype='bool'></field>
-			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field>
-			<field reporter:label='Card ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='User' name='usr' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='actor::stat_cat' reporter:label='User Statistical Category' controller='open-ils.cstore' oils_persist:tablename='actor.stat_cat' id='actsc'>
-		<fields oils_persist:sequence='actor.stat_cat_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Entries' name='entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Stat Cat ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field>
-			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='entries' reltype='has_many' class='actsce' key='stat_cat' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='metabib::series_field_entry' reporter:label='Series Field Entry' controller='open-ils.cstore' oils_persist:tablename='metabib.series_field_entry' id='msefe'>
-		<fields oils_persist:sequence='metabib.series_field_entry_id_seq' oils_persist:primary='id'>
-			<field name='field' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='source' reporter:datatype='link'></field>
-			<field name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='source' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='field' reltype='has_a' class='cmf' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::user_bucket' reporter:label='User Bucket' controller='open-ils.cstore' oils_persist:tablename='container.user_bucket' id='cub'>
-		<fields oils_persist:sequence='container.user_bucket_id_seq' oils_persist:primary='id'>
-			<field name='items' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='btype' reporter:datatype='text'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='owner' reporter:datatype='link'></field>
-			<field name='pub' reporter:datatype='bool'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='items' reltype='has_many' class='cubi' key='bucket' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::user_bucket_note' reporter:label='User Bucket Note' controller='open-ils.cstore' oils_persist:tablename='container.user_bucket_note' id='cubn'>
-		<fields oils_persist:sequence='container.user_bucket_note_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='bucket' reporter:datatype='link'></field>
-			<field name='note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='bucket' reltype='has_a' class='cub' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='money::credit_payment' reporter:label='House Credit Payment' controller='open-ils.cstore' oils_persist:tablename='money.credit_payment' id='mcrp'>
-		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Accepting Staff Member' name='accepting_usr' reporter:datatype='link'></field>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Amount Collected' name='amount_collected' reporter:datatype='money'></field>
-			<field reporter:label='Pyament ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Payment Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Payment Timestamp' name='payment_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction' name='xact' reporter:datatype='link'></field>
-			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment link' name='payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link>
-			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='authority::full_rec' reporter:label='Full Authority Record' controller='open-ils.cstore' oils_persist:tablename='authority.full_rec' id='afr'>
-		<fields oils_persist:sequence='authority.full_rec_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='ind1'></field>
-			<field name='ind2'></field>
-			<field name='record'></field>
-			<field name='subfield'></field>
-			<field name='tag'></field>
-			<field name='value'></field>
-		</fields>
-		<links>
-			<link field='record' reltype='has_a' class='are' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='config::non_cataloged_type' reporter:label='Non-catalogued Type' controller='open-ils.cstore' oils_persist:tablename='config.non_cataloged_type' id='cnct'>
-		<fields oils_persist:sequence='config.non_cataloged_type_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Circulation Duration' name='circ_duration' reporter:datatype='interval'></field>
-			<field reporter:label='Non-cat Type ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='In House?' name='in_house' reporter:datatype='bool'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-		</fields>
-		<links>
-			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='actor::org_unit_type' reporter:label='Organizational Unit Type' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.org_unit_type' id='aout'>
-		<fields oils_persist:sequence='actor.org_unit_type_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Subordinate Types' name='children' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Can Have Users?' name='can_have_users' reporter:datatype='bool'></field>
-			<field reporter:label='Can Have Volumes?' name='can_have_vols' reporter:datatype='bool'></field>
-			<field reporter:label='Type Depth' name='depth' reporter:datatype='int'></field>
-			<field reporter:label='Type ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Type Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='OPAC Label' name='opac_label' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Parent Type' name='parent' reporter:datatype='link'></field>
-			<field reporter:label='Org Units' name='org_units' reporter:datatype='org_unit' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='parent' reltype='has_a' class='aout' key='id' map=''></link>
-			<link field='children' reltype='has_many' class='aout' key='parent' map=''></link>
-			<link field='org_units' reltype='has_many' class='aou' key='ou_type' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_ORG_TYPE'></create>
-                <retrieve global_required='true' permission='CREATE_ORG_UNIT UPDATE_ORG_UNIT DELETE_ORG_UNIT'></retrieve>
-                <update global_required='true' permission='UPDATE_ORG_TYPE'></update>
-                <delete global_required='true' permission='DELETE_ORG_TYPE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='biblio::record_note' reporter:label='Bib Record Note' controller='open-ils.cstore' oils_persist:tablename='biblio.record_note' id='bren'>
-		<fields oils_persist:sequence='biblio.record_note_id_seq' oils_persist:primary='id'>
-			<field name='create_date' reporter:datatype='timestamp'></field>
-			<field name='creator' reporter:datatype='link'></field>
-			<field name='edit_date' reporter:datatype='timestamp'></field>
-			<field name='editor' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='pub' reporter:datatype='bool'></field>
-			<field name='record' reporter:datatype='link'></field>
-			<field name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='record' reltype='has_a' class='bre' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='money::user_circulation_summary' reporter:label='User Circulation Summary' controller='open-ils.cstore' oils_persist:tablename='money.usr_circulation_summary' id='mucs'>
-		<fields oils_persist:sequence='' oils_persist:primary='usr'>
-			<field name='balance_owed' reporter:datatype='money'></field>
-			<field name='total_owed' reporter:datatype='money'></field>
-			<field name='total_paid' reporter:datatype='money'></field>
-			<field name='usr' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='money::grocery' reporter:label='Grocery Transaction' controller='open-ils.cstore' oils_persist:tablename='money.grocery' id='mg'>
-		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Billing Location' name='billing_location' reporter:datatype='link'></field>
-			<field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='User' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Transaction Finish Timestamp' name='xact_finish' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction Start Timestamp' name='xact_start' reporter:datatype='timestamp'></field>
-			<field reporter:label='Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Billable Transaction link' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link>
-			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link>
-			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link>
-			<link field='billing_location' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link>
-			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='config::bib_source' reporter:label='Bib Source' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.bib_source' id='cbs'>
-		<fields oils_persist:sequence='config.bib_source_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id' reporter:selector='source'></field>
-			<field name='quality' reporter:datatype='int'></field>
-			<field name='source' reporter:datatype='text'></field>
-			<field name='transcendant' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_BIB_SOURCE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='UPDATE_BIB_SOURCE'></update>
-                <delete global_required='true' permission='DELETE_BIB_SOURCE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='money::billable_transaction' reporter:label='Billable Transaction' controller='open-ils.cstore' oils_persist:tablename='money.billable_xact' id='mbt'>
-		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='User' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction Start Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
-			<field reporter:label='Unrecovered Debt' name='unrecovered' reporter:datatype='bool'></field>
-			<field reporter:label='Grocery Billing link' name='grocery' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Circulation Billing link' name='circulation' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Billing Line Items' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Line Items' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Summary' name='summary' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='grocery' reltype='might_have' class='mg' key='id' map=''></link>
-			<link field='circulation' reltype='might_have' class='circ' key='id' map=''></link>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link>
-			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link>
-			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link>
-			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link>
-			<link field='summary' reltype='might_have' class='mbts' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='actor::stat_cat_entry' reporter:label='User Stat Cat Entry' controller='open-ils.cstore' oils_persist:tablename='actor.stat_cat_entry' id='actsce'>
-		<fields oils_persist:sequence='actor.stat_cat_entry_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Entry ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Entry Owner' name='owner' reporter:datatype='link'></field>
-			<field reporter:label='Stat Cat' name='stat_cat' reporter:datatype='link'></field>
-			<field reporter:label='Entry Value' name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='stat_cat' reltype='has_a' class='actsc' key='id' map=''></link>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::user_bucket_item' reporter:label='User Bucket Item' controller='open-ils.cstore' oils_persist:tablename='container.user_bucket_item' id='cubi'>
-		<fields oils_persist:sequence='container.user_bucket_item_id_seq' oils_persist:primary='id'>
-			<field name='bucket' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='target_user' reporter:datatype='link'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-			<field name='pos' reporter:datatype='int'></field>
-			<field name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='target_user' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='bucket' reltype='has_a' class='cub' key='id' map=''></link>
-            <link field='notes' reltype='has_many' class='cubin' key='item' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::user_bucket_item_note' reporter:label='User Bucket Item Note' controller='open-ils.cstore' oils_persist:tablename='container.user_bucket_item_note' id='cubin'>
-		<fields oils_persist:sequence='container.user_bucket_item_note_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='item' reporter:datatype='link'></field>
-			<field name='note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='item' reltype='has_a' class='cubi' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='money::user_summary' reporter:label='User Summary' controller='open-ils.cstore' oils_persist:tablename='money.usr_summary' id='mus'>
-		<fields oils_persist:sequence='' oils_persist:primary='usr'>
-			<field name='balance_owed' reporter:datatype='money'></field>
-			<field name='total_owed' reporter:datatype='money'></field>
-			<field name='total_paid' reporter:datatype='money'></field>
-			<field name='usr' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Literary Form' oils_persist:tablename='config.lit_form_map' oils_obj:fieldmapper='config::lit_form_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='clfm'>
-		<fields oils_persist:sequence='' oils_persist:primary='code'>
-			<field reporter:label='LitF Code' name='code' reporter:datatype='text'></field>
-			<field reporter:label='LitF Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='LitF Name' name='value' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_MARC_CODE'></create>
-                <retrieve global_required='true' permission='CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE'></retrieve>
-                <update global_required='true' permission='UPDATE_MARC_CODE'></update>
-                <delete global_required='true' permission='DELETE_MARC_CODE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='money::work_payment' reporter:label='Work Payment' controller='open-ils.cstore' oils_persist:tablename='money.work_payment' id='mwp'>
-		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Accepting Staff Member' name='accepting_usr' reporter:datatype='link'></field>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Amount Collected' name='amount_collected' reporter:datatype='money'></field>
-			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Payment Timestamp' name='payment_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction ID' name='xact' reporter:datatype='link'></field>
-			<field reporter:label='Payment link' name='payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link>
-			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='money::goods_payment' reporter:label='Goods Payment' controller='open-ils.cstore' oils_persist:tablename='money.goods_payment' id='mgp'>
-		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Accepting Staff Member' name='accepting_usr' reporter:datatype='link'></field>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Amount Collected' name='amount_collected' reporter:datatype='money'></field>
-			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Payment Timestamp' name='payment_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction ID' name='xact' reporter:datatype='link'></field>
-			<field reporter:label='Payment link' name='payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link>
-			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='action::open_circulation' reporter:label='Open Circulation' controller='open-ils.cstore' oils_persist:tablename='action.open_circulation' id='aoc'>
-		<fields oils_persist:sequence='' oils_persist:primary='id'>
-			<field name='checkin_lib' reporter:datatype='link'></field>
-			<field name='checkin_staff' reporter:datatype='link'></field>
-			<field name='checkin_time' reporter:datatype='timestamp'></field>
-			<field name='circ_lib' reporter:datatype='org_unit'></field>
-			<field name='circ_staff' reporter:datatype='link'></field>
-			<field name='desk_renewal' reporter:datatype='bool'></field>
-			<field name='due_date' reporter:datatype='timestamp'></field>
-			<field name='duration' reporter:datatype='interval'></field>
-			<field name='duration_rule' reporter:datatype='link'></field>
-			<field name='fine_interval' reporter:datatype='interval'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='max_fine' reporter:datatype='money'></field>
-			<field name='max_fine_rule' reporter:datatype='link'></field>
-			<field name='opac_renewal' reporter:datatype='bool'></field>
-			<field name='phone_renewal' reporter:datatype='bool'></field>
-			<field name='recuring_fine' reporter:datatype='money'></field>
-			<field name='recuring_fine_rule' reporter:datatype='link'></field>
-			<field name='renewal_remaining' reporter:datatype='int'></field>
-			<field name='stop_fines' reporter:datatype='text'></field>
-			<field name='stop_fines_time' reporter:datatype='timestamp'></field>
-			<field name='target_copy' reporter:datatype='link'></field>
-			<field name='usr' reporter:datatype='link'></field>
-			<field name='xact_finish' reporter:datatype='timestamp'></field>
-			<field name='xact_start' reporter:datatype='timestamp'></field>
-			<field name='circulation' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='circulation' reltype='might_have' class='circ' key='id' map=''></link>
-			<link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link>
-			<link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link>
-			<link field='recuring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='metabib::subject_field_entry' reporter:label='Subject Field Entry' controller='open-ils.cstore' oils_persist:tablename='metabib.subject_field_entry' id='msfe'>
-		<fields oils_persist:sequence='metabib.subject_field_entry_id_seq' oils_persist:primary='id'>
-			<field name='field' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='source' reporter:datatype='link'></field>
-			<field name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='source' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='field' reltype='has_a' class='cmf' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='config::rules::recuring_fine' reporter:label='Recurring Fine Rule' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.rule_recuring_fine' id='crrf'>
-		<fields oils_persist:sequence='config.rule_recuring_fine_id_seq' oils_persist:primary='id'>
-			<field name='high' reporter:datatype='money'></field>
-			<field name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field name='low' reporter:datatype='money'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='normal' reporter:datatype='money'></field>
-			<field name='recurance_interval' reporter:datatype='interval'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_RECURING_FINE_RULE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_RECURING_FINE_RULE'></update>
-                <delete global_required='true' permission='ADMIN_RECURING_FINE_RULE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='money::check_payment' reporter:label='Check Payment' controller='open-ils.cstore' oils_persist:tablename='money.check_payment' id='mckp'>
-		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Accepting Staff Member' name='accepting_usr' reporter:datatype='link'></field>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Amount Collected' name='amount_collected' reporter:datatype='money'></field>
-			<field reporter:label='Workstation link' name='cash_drawer' reporter:datatype='link'></field>
-			<field reporter:label='Check Number' name='check_number' reporter:datatype='int'></field>
-			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Payment Timestamp' name='payment_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction link' name='xact' reporter:datatype='link'></field>
-			<field reporter:label='Payment link' name='payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link>
-			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='cash_drawer' reltype='has_a' class='aws' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Item' oils_persist:tablename='asset.copy' reporter:core='true' oils_obj:fieldmapper='asset::copy' controller='open-ils.cstore open-ils.pcrud' id='acp'>
-		<fields oils_persist:sequence='asset.copy_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Statistical Category Entries' name='stat_cat_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Age Hold Protection' name='age_protect' reporter:datatype='link'></field>
-			<field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field>
-			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field>
-			<field reporter:label='Call Number/Volume' name='call_number' reporter:datatype='link'></field>
-			<field reporter:label='Circulation Type (MARC)' name='circ_as_type' reporter:datatype='text'></field>
-			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='link'></field>
-			<field reporter:label='Can Circulate' name='circulate' reporter:datatype='bool'></field>
-			<field reporter:label='Copy Number on Volume' name='copy_number' reporter:datatype='text'></field>
-			<field reporter:label='Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Creating User' name='creator' reporter:datatype='link'></field>
-			<field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field>
-			<field reporter:label='Is Deposit Required' name='deposit' reporter:datatype='bool'></field>
-			<field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='money'></field>
-			<field reporter:label='Precat Dummy Author' name='dummy_author' reporter:datatype='text'></field>
-			<field reporter:label='Precat Dummy Title' name='dummy_title' reporter:datatype='text'></field>
-			<field reporter:label='Last Edit Date/Time' name='edit_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Last Editing User' name='editor' reporter:datatype='link'></field>
-			<field reporter:label='Fine Level' name='fine_level' reporter:datatype='int'></field>
-			<field reporter:label='Is Holdable' name='holdable' reporter:datatype='bool'></field>
-			<field reporter:label='Copy ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Loan Duration' name='loan_duration' reporter:datatype='int'></field>
-			<field reporter:label='Shelving Location' name='location' reporter:datatype='link'></field>
-			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field>
-			<field reporter:label='Price' name='price' reporter:datatype='money'></field>
-			<field reporter:label='Is Reference' name='ref' reporter:datatype='bool'></field>
-			<field reporter:label='Copy Status' name='status' reporter:datatype='link'></field>
-			<field reporter:label='Copy Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Stat-Cat entry maps' name='stat_cat_entry_copy_maps' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Circulations' name='circulations' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Total Circulations' name='total_circ_count' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Holds' name='holds' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='age_protect' reltype='has_a' class='crahp' key='id' map=''></link>
-			<link field='call_number' reltype='has_a' class='acn' key='id' map=''></link>
-			<link field='location' reltype='has_a' class='acpl' key='id' map=''></link>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='status' reltype='has_a' class='ccs' key='id' map=''></link>
-			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='holds' reltype='has_many' class='ahcm' key='target_copy' map='hold'></link>
-			<link field='stat_cat_entry_copy_maps' reltype='has_many' class='ascecm' key='owning_copy' map=''></link>
-			<link field='notes' reltype='has_many' class='acpn' key='owning_copy' map=''></link>
-			<link field='stat_cat_entries' reltype='has_many' class='ascecm' key='owning_copy' map='stat_cat_entry'></link>
-			<link field='circulations' reltype='has_many' class='circ' key='target_copy' map=''></link>
-			<link field='total_circ_count' reltype='might_have' class='erfcc' key='id' map=''></link>
-			<link field='circ_modifier' reltype='has_a' class='ccm' key='code' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='CREATE_COPY'>
-                    <context field='owning_lib' link='call_number'></context>
-                </create>
-                <retrieve></retrieve>
-                <update permission='UPDATE_COPY'>
-                    <context field='owning_lib' link='call_number'></context>
-                </update>
-                <delete permission='DELETE_COPY'>
-                    <context field='owning_lib' link='call_number'></context>
-                </delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='config::rules::age_hold_protect' reporter:label='Age Hold Protection Rule' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.rule_age_hold_protect' id='crahp'>
-		<fields oils_persist:sequence='config.rule_age_hold_protect_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Item Age' name='age' reporter:datatype='interval'></field>
-			<field reporter:label='Rule ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Rule Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='Allowed Proximity' name='prox' reporter:datatype='int'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_AGE_PROTECT_RULE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_AGE_PROTECT_RULE'></update>
-                <delete global_required='true' permission='ADMIN_AGE_PROTECT_RULE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='config::rules::max_fine' reporter:label='Max Fine Rule' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.rule_max_fine' id='crmf'>
-		<fields oils_persist:sequence='config.rule_max_fine_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Max Fine Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Rule ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Rule Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='Is Percent' name='is_percent' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_MAX_FINE_RULE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_MAX_FINE_RULE'></update>
-                <delete global_required='true' permission='ADMIN_MAX_FINE_RULE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='permission::grp_tree' reporter:label='Permission Group' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='permission.grp_tree' id='pgt'>
-		<fields oils_persist:sequence='permission.grp_tree_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Child Groups' name='children' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Group ID' name='id' reporter:datatype='id' reporter:selector='name'></field>
-			<field reporter:label='Group Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Parent Group' name='parent' reporter:datatype='link'></field>
-			<field reporter:label='User Expiration Interval' name='perm_interval' reporter:datatype='interval'></field>
-			<field reporter:label='Required Permission' name='application_perm' reporter:datatype='text'></field>
-			<field reporter:label='Is User Group' name='usergroup' reporter:datatype='bool'></field>
-		</fields>
-		<links>
-			<link field='parent' reltype='has_a' class='pgt' key='id' map=''></link>
-			<link field='children' reltype='has_many' class='pgt' key='parent' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_PERM'></create>
-                <retrieve global_required='true' permission='STAFF_LOGIN'></retrieve>
-                <update global_required='true' permission='UPDATE_PERM'></update>
-                <delete global_required='true' permission='DELETE_PERM'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='action::survey_answer' reporter:label='Survey Answer' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action.survey_answer' id='asva'>
-		<fields oils_persist:sequence='action.survey_answer_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Responses using this Answer' name='responses' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Answer Text' name='answer' reporter:datatype='text'></field>
-			<field reporter:label='Answer ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Question' name='question' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='question' reltype='has_a' class='asvq' key='id' map=''></link>
-			<link field='responses' reltype='has_many' class='asvr' key='answer' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='ADMIN_SURVEY'>
-                    <context jump='survey' field='owner' link='question'></context>
-                </create>
-                <retrieve></retrieve>
-                <update permission='ADMIN_SURVEY'>
-                    <context jump='survey' field='owner' link='question'></context>
-                </update>
-                <delete permission='ADMIN_SURVEY'>
-                    <context jump='survey' field='owner' link='question'></context>
-                </delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Non-catalogued Circulation' oils_persist:tablename='action.non_cataloged_circulation' reporter:core='true' oils_obj:fieldmapper='action::non_cataloged_circulation' controller='open-ils.cstore' id='ancc'>
-		<fields oils_persist:sequence='action.non_cataloged_circulation_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Circulation Date/Time' name='circ_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Non-cat Circulation ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Non-cat Item Type' name='item_type' reporter:datatype='link'></field>
-			<field reporter:label='Patron' name='patron' reporter:datatype='link'></field>
-			<field reporter:label='Circulating Staff' name='staff' reporter:datatype='link'></field>
-			<field reporter:label='Virtual Due Date/Time' name='duedate' reporter:datatype='timestamp' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='item_type' reltype='has_a' class='cnct' key='id' map=''></link>
-			<link field='staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='patron' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='money::open_user_circulation_summary' reporter:label='Open User Circulation Summary' controller='open-ils.cstore' oils_persist:tablename='money.open_usr_circulation_summary' id='moucs'>
-		<fields oils_persist:sequence='' oils_persist:primary='usr'>
-			<field name='balance_owed' reporter:datatype='money'></field>
-			<field name='total_owed' reporter:datatype='money'></field>
-			<field name='total_paid' reporter:datatype='money'></field>
-			<field name='usr' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='action::unfulfilled_hold_list' reporter:label='Unfulfilled Hold Targets' controller='open-ils.cstore' oils_persist:tablename='action.unfulfilled_hold_list' id='aufh'>
-		<fields oils_persist:sequence='action.unfulfilled_hold_list_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Non-fulfilling Library' name='circ_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Non-fulfilling Copy' name='current_copy' reporter:datatype='link'></field>
-			<field reporter:label='Retargeting Date/Time' name='fail_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Hold' name='hold' reporter:datatype='link'></field>
-			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field>
-		</fields>
-		<links>
-			<link field='hold' reltype='has_a' class='ahr' key='id' map=''></link>
-			<link field='current_copy' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='metabib::title_field_entry' reporter:label='Title Field Entry' controller='open-ils.cstore' oils_persist:tablename='metabib.title_field_entry' id='mtfe'>
-		<fields oils_persist:sequence='metabib.title_field_entry_id_seq' oils_persist:primary='id'>
-			<field name='field' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='source' reporter:datatype='link'></field>
-			<field name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='source' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='field' reltype='has_a' class='cmf' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='actor::stat_cat_entry_user_map' reporter:label='User Statistical Category Entry' controller='open-ils.cstore' oils_persist:tablename='actor.stat_cat_entry_usr_map' id='actscecm'>
-		<fields oils_persist:sequence='actor.stat_cat_entry_usr_map_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Entry ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Statistical Category' name='stat_cat' reporter:datatype='link'></field>
-			<field reporter:label='Entry Text' name='stat_cat_entry' reporter:datatype='text'></field>
-			<field reporter:label='User' name='target_usr' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='target_usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='stat_cat' reltype='has_a' class='actsc' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='permission::grp_perm_map' reporter:label='Group Permission Map' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='permission.grp_perm_map' id='pgpm'>
-		<fields oils_persist:sequence='permission.grp_perm_map_id_seq' oils_persist:primary='id'>
-			<field name='depth' reporter:datatype='int'></field>
-			<field name='grantable' reporter:datatype='bool'></field>
-			<field name='grp' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='perm' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='grp' reltype='has_a' class='pgt' key='id' map=''></link>
-			<link field='perm' reltype='has_a' class='ppl' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ASSIGN_GROUP_PERM'></create>
-                <retrieve global_required='true' permission='ASSIGN_GROUP_PERM UPDATE_GROUP_PERM REMOVE_GROUP_PERM'></retrieve>
-                <update global_required='true' permission='UPDATE_GROUP_PERM'></update>
-                <delete global_required='true' permission='REMOVE_GROUP_PERM'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='container::copy_bucket' reporter:label='Copy Bucket' controller='open-ils.cstore' oils_persist:tablename='container.copy_bucket' id='ccb'>
-		<fields oils_persist:sequence='container.copy_bucket_id_seq' oils_persist:primary='id'>
-			<field name='items' oils_persist:virtual='true'></field>
-			<field name='btype' reporter:datatype='text'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='owner' reporter:datatype='link'></field>
-			<field name='pub' reporter:datatype='bool'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='items' reltype='has_many' class='ccbi' key='bucket' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::copy_bucket_note' reporter:label='Copy Bucket Note' controller='open-ils.cstore' oils_persist:tablename='container.copy_bucket_note' id='ccbn'>
-		<fields oils_persist:sequence='container.copy_bucket_note_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='bucket' reporter:datatype='link'></field>
-			<field name='note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='bucket' reltype='has_a' class='ccb' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='permission::usr_work_ou_map' reporter:label='User Work Org Unit Map' controller='open-ils.cstore' oils_persist:tablename='permission.usr_work_ou_map' id='puwoum'>
-		<fields oils_persist:sequence='permission.usr_work_ou_map_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='int'></field>
-			<field name='usr' reporter:datatype='link'></field>
-			<field name='work_ou' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='work_ou' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='permission::usr_perm_map' reporter:label='User Permission Map' controller='open-ils.cstore' oils_persist:tablename='permission.usr_perm_map' id='pupm'>
-		<fields oils_persist:sequence='permission.usr_perm_map_id_seq' oils_persist:primary='id'>
-			<field name='depth' reporter:datatype='int'></field>
-			<field name='grantable' reporter:datatype='bool'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='perm' reporter:datatype='link'></field>
-			<field name='usr' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='perm' reltype='has_a' class='ppl' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='permission::usr_object_perm_map' reporter:label='User Object Permission Map' controller='open-ils.cstore' oils_persist:tablename='permission.usr_object_perm_map' id='puopm'>
-		<fields oils_persist:sequence='permission.usr_object_perm_map_id_seq' oils_persist:primary='id'>
-			<field name='object_id' reporter:datatype='text'></field>
-			<field name='grantable' reporter:datatype='bool'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='perm' reporter:datatype='link'></field>
-			<field name='usr' reporter:datatype='link'></field>
-			<field name='object_type' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='perm' reltype='has_a' class='ppl' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Payments: All' oils_persist:tablename='money.payment_view' reporter:core='true' oils_obj:fieldmapper='money::payment' controller='open-ils.cstore' id='mp'>
-		<fields oils_persist:sequence='' oils_persist:primary='id'>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Payment Date/Time' name='payment_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text'></field>
-			<field reporter:label='Billable Transaction' name='xact' reporter:datatype='link'></field>
-			<field reporter:label='Voided?' name='voided' reporter:datatype='bool'></field>
-			<field reporter:label='Cash Payment Detail' name='cash_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Credit Card Payment Detail' name='credit_card_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Credit Payment Detail' name='credit_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Check Payment Detail' name='check_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Work Payment Detail' name='work_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Forgive Payment Detail' name='forgive_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Goods Payment Detail' name='goods_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='cash_payment' reltype='might_have' class='mcp' key='id' map=''></link>
-			<link field='credit_card_payment' reltype='might_have' class='mccp' key='id' map=''></link>
-			<link field='credit_payment' reltype='might_have' class='mcrp' key='id' map=''></link>
-			<link field='check_payment' reltype='might_have' class='mckp' key='id' map=''></link>
-			<link field='work_payment' reltype='might_have' class='mwp' key='id' map=''></link>
-			<link field='forgive_payment' reltype='might_have' class='mfp' key='id' map=''></link>
-			<link field='goods_payment' reltype='might_have' class='mgp' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Payments: Brick-and-mortar' oils_persist:tablename='money.bnm_payment_view' reporter:core='true' oils_obj:fieldmapper='money::bnm_payment' controller='open-ils.cstore' id='mbp'>
-		<fields oils_persist:sequence='' oils_persist:primary='id'>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Payment Date/Time' name='payment_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text'></field>
-			<field reporter:label='Billable Transaction' name='xact' reporter:datatype='link'></field>
-			<field reporter:label='Voided?' name='voided' reporter:datatype='bool'></field>
-			<field reporter:label='Cash Payment Detail' name='cash_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Credit Card Payment Detail' name='credit_card_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Credit Payment Detail' name='credit_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Check Payment Detail' name='check_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Work Payment Detail' name='work_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Forgive Payment Detail' name='forgive_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Goods Payment Detail' name='goods_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='cash_payment' reltype='might_have' class='mcp' key='id' map=''></link>
-			<link field='credit_card_payment' reltype='might_have' class='mccp' key='id' map=''></link>
-			<link field='credit_payment' reltype='might_have' class='mcrp' key='id' map=''></link>
-			<link field='check_payment' reltype='might_have' class='mckp' key='id' map=''></link>
-			<link field='work_payment' reltype='might_have' class='mwp' key='id' map=''></link>
-			<link field='forgive_payment' reltype='might_have' class='mfp' key='id' map=''></link>
-			<link field='goods_payment' reltype='might_have' class='mgp' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Payments: Non-drawer Staff' oils_persist:tablename='money.non_drawer_payment_view' reporter:core='true' oils_obj:fieldmapper='money::non_drawer_payment' controller='open-ils.reporter' id='mndp'>
-		<fields oils_persist:sequence='' oils_persist:primary='id'>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Payment Date/Time' name='payment_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text'></field>
-			<field reporter:label='Billable Transaction' name='xact' reporter:datatype='link'></field>
-			<field reporter:label='Voided?' name='voided' reporter:datatype='bool'></field>
-			<field reporter:label='Work Payment Detail' name='work_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Forgive Payment Detail' name='forgive_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Goods Payment Detail' name='goods_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Credit Payment Detail' name='credit_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='work_payment' reltype='might_have' class='mwp' key='id' map=''></link>
-			<link field='forgive_payment' reltype='might_have' class='mfp' key='id' map=''></link>
-			<link field='goods_payment' reltype='might_have' class='mgp' key='id' map=''></link>
-			<link field='credit_payment' reltype='might_have' class='mcrp' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='Payments: Desk' oils_persist:tablename='money.desk_payment_view' reporter:core='true' oils_obj:fieldmapper='money::desk_payment' controller='open-ils.cstore' id='mdp'>
-		<fields oils_persist:sequence='' oils_persist:primary='id'>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Payment Date/Time' name='payment_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text'></field>
-			<field reporter:label='Billable Transaction' name='xact' reporter:datatype='link'></field>
-			<field reporter:label='Accepting User' name='accepting_usr'></field>
-			<field reporter:label='Cash Drawer' name='cash_drawer' reporter:datatype='link'></field>
-			<field reporter:label='Voided?' name='voided' reporter:datatype='bool'></field>
-			<field reporter:label='Cash Payment' name='cash_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Credit Card Payment' name='credit_card_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Check Payment' name='check_payment' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='cash_payment' reltype='might_have' class='mcp' key='id' map=''></link>
-			<link field='credit_card_payment' reltype='might_have' class='mccp' key='id' map=''></link>
-			<link field='check_payment' reltype='might_have' class='mckp' key='id' map=''></link>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='cash_drawer' reltype='has_a' class='aws' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::biblio_record_entry_bucket_item' reporter:label='Biblio Record Entry Bucket Item' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_item' id='cbrebi'>
-		<fields oils_persist:sequence='container.biblio_record_entry_bucket_item_id_seq' oils_persist:primary='id'>
-			<field name='bucket' reporter:datatype='link'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='target_biblio_record_entry' reporter:datatype='link'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-			<field name='pos' reporter:datatype='int'></field>
-			<field name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='target_biblio_record_entry' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='bucket' reltype='has_a' class='cbreb' key='id' map=''></link>
-            <link field='notes' reltype='has_many' class='cbrebin' key='item' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='container::biblio_record_entry_bucket_item_note' reporter:label='Biblio Record Entry Bucket Item Note' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_item_note' id='cbrebin'>
-		<fields oils_persist:sequence='container.biblio_record_entry_bucket_item_note_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='item' reporter:datatype='link'></field>
-			<field name='note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='item' reltype='has_a' class='cbrebi' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='asset::stat_cat_entry' reporter:label='Item Stat Cat Entry' controller='open-ils.cstore' oils_persist:tablename='asset.stat_cat_entry' id='asce'>
-		<fields oils_persist:sequence='asset.stat_cat_entry_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Entry ID' name='id' reporter:datatype='int'></field>
-			<field reporter:label='Entry Owner' name='owner' reporter:datatype='link'></field>
-			<field reporter:label='Stat Cat' name='stat_cat' reporter:datatype='link'></field>
-			<field reporter:label='Value' name='value' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links>
-			<link field='stat_cat' reltype='has_a' class='asc' key='id' map=''></link>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Hold Request Cancel Cause' oils_persist:tablename='action.hold_request_cancel_cause' oils_obj:fieldmapper='action::hold_request_cancel_cause' controller='open-ils.cstore open-ils.reporter-store open-ils.pcrud' id='ahrcc' oils_persist:restrict_primary='100'>
-		<fields oils_persist:sequence='action.hold_request_cancel_cause_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Cause ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Cause Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_HOLD_CANCEL_CAUSE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_HOLD_CANCEL_CAUSE'></update>
-                <delete global_required='true' permission='ADMIN_HOLD_CANCEL_CAUSE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-
-	<class reporter:label='Hold Transit' oils_persist:tablename='action.hold_transit_copy' reporter:core='true' oils_obj:fieldmapper='action::hold_transit_copy' controller='open-ils.cstore open-ils.pcrud' id='ahtc'>
-		<fields oils_persist:sequence='action.transit_copy_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Copy Status at Transit' name='copy_status' reporter:datatype='link'></field>
-			<field reporter:label='Destination Library' name='dest' reporter:datatype='org_unit'></field>
-			<field reporter:label='Receive Date/Time' name='dest_recv_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Hold requiring Transit' name='hold' reporter:datatype='link'></field>
-			<field reporter:label='Transit ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Is Persistent?' name='persistant_transfer' reporter:datatype='bool'></field>
-			<field reporter:label='Previous Stop' name='prev_hop' reporter:datatype='link'></field>
-			<field reporter:label='Sending Library' name='source' reporter:datatype='org_unit'></field>
-			<field reporter:label='Send Date/Time' name='source_send_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transited Copy' name='target_copy' reporter:datatype='link'></field>
-			<field reporter:label='Base Transit' name='transit_copy' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='transit_copy' reltype='might_have' class='atc' key='id' map=''></link>
-			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='source' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='copy_status' reltype='has_a' class='ccs' key='id' map=''></link>
-			<link field='dest' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='hold' reltype='has_a' class='ahr' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owner' permission='TRANSIT_COPY'>
-                    <context field='circ_lib' link='target_copy'></context>
-                </create>
-                <retrieve></retrieve>
-                <update context_field='dest source' permission='UPDATE_TRANSIT'></update>
-                <delete context_field='dest source' permission='DELETE_TRANSIT'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='money::billing' reporter:label='Billing Line Item' controller='open-ils.cstore' oils_persist:tablename='money.billing' id='mb'>
-		<fields oils_persist:sequence='money.billing_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Billing Timestamp' name='billing_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Legacy Billing Type' name='billing_type' reporter:datatype='text'></field>
-			<field reporter:label='Billing ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Void Timestamp' name='void_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Voided?' name='voided' reporter:datatype='bool'></field>
-			<field reporter:label='Voiding Staff Member' name='voider' reporter:datatype='link'></field>
-			<field reporter:label='Transaction' name='xact' reporter:datatype='link'></field>
-			<field reporter:label='Type' name='btype' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link>
-			<link field='voider' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='btype' reltype='has_a' class='cbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='permission::usr_grp_map' reporter:label='User Group Map' controller='open-ils.cstore' oils_persist:tablename='permission.usr_grp_map' id='pugm'>
-		<fields oils_persist:sequence='permission.usr_grp_map_id_seq' oils_persist:primary='id'>
-			<field name='grp'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='usr'></field>
-		</fields>
-		<links>
-			<link field='grp' reltype='has_a' class='pgt' key='id' map=''></link>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-	<class reporter:label='i18n Core' oils_persist:tablename='config.i18n_core' oils_obj:fieldmapper='config::i18n_core' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='i18n'>
-		<fields oils_persist:sequence='config.i18n_core_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='fq_field' reporter:datatype='text'></field>
-			<field name='identity_value' reporter:datatype='text'></field>
-			<field name='translation' reporter:datatype='text'></field>
-			<field name='string' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='translation' reltype='has_a' class='i18n_l' key='code' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_TRANSLATION'></create>
-                <retrieve global_required='true' permission='CREATE_TRANSLATION UPDATE_TRANSLATION DELETE_TRANSLATION'></retrieve>
-                <update global_required='true' permission='UPDATE_TRANSLATION'></update>
-                <delete global_required='true' permission='DELETE_TRANSLATION'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='IDL Field Doc' oils_persist:tablename='config.idl_field_doc' oils_obj:fieldmapper='config::idl_field_doc' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='fdoc'>
-		<fields oils_persist:sequence='config.idl_field_doc_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='fm_class' reporter:datatype='text'></field>
-			<field name='field' reporter:datatype='text'></field>
-			<field name='owner' reporter:datatype='org_unit'></field>
-			<field name='string' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owner' permission='ADMIN_FIELD_DOC'></create>
-                <retrieve></retrieve>
-                <update context_field='owner' permission='ADMIN_FIELD_DOC'></update>
-                <delete context_field='owner' permission='ADMIN_FIELD_DOC'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Locale' oils_persist:tablename='config.i18n_locale' oils_obj:fieldmapper='config::i18n_locale' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='i18n_l'>
-		<fields oils_persist:primary='code'>
-			<field name='code' reporter:datatype='id'></field>
-			<field name='marc_code' reporter:datatype='text'></field>
-			<field name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_LOCALE'></create>
-                <retrieve global_required='true' permission='CREATE_LOCALE UPDATE_LOCALE DELETE_LOCALE'></retrieve>
-                <update global_required='true' permission='UPDATE_LOCALE'></update>
-                <delete global_required='true' permission='DELETE_LOCALE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class reporter:label='Billing Type' oils_persist:tablename='config.billing_type' oils_obj:fieldmapper='config::billing_type' controller='open-ils.cstore open-ils.pcrud' id='cbt' oils_persist:restrict_primary='100'>
-		<fields oils_persist:sequence='config.billing_type_id_seq' oils_persist:primary='id'>
-			<field reporter:label='ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Org Unit' name='owner' reporter:datatype='org_unit'></field>
-            <field reporter:label='Default Price' name='default_price' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owner' permission='CREATE_BILLING_TYPE'></create>
-                <retrieve context_field='owner' permission='VIEW_BILLING_TYPE CREATE_BILLING_TYPE UPDATE_BILLING_TYPE DELETE_BILLING_TYPE'></retrieve>
-                <update context_field='owner' permission='UPDATE_BILLING_TYPE'></update>
-                <delete context_field='owner' permission='DELETE_BILLING_TYPE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-	<class oils_obj:fieldmapper='acq::currency_type' reporter:label='Currency Type' controller='open-ils.cstore open-ils.reporter-store open-ils.pcrud' oils_persist:tablename='acq.currency_type' id='acqct'>
-		<fields oils_persist:primary='code'>
-			<field reporter:label='Currency Code' name='code' reporter:datatype='text' reporter:selector='label'></field>
-			<field reporter:label='Currency Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field>
-		</fields>
-		<links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='ADMIN_CURRENCY_TYPE'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='ADMIN_CURRENCY_TYPE'></update>
-                <delete global_required='true' permission='ADMIN_CURRENCY_TYPE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::exchange_rate' reporter:label='Exchange Rate' controller='open-ils.cstore open-ils.pcrud open-ils.reporter-store' oils_persist:tablename='acq.exchange_rate' id='acqexr'>
-		<fields oils_persist:sequence='acq.exchange_rate_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Exchange Rate ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='From Currency' name='from_currency' reporter:datatype='link'></field>
-			<field reporter:label='To Currency' name='to_currency' reporter:datatype='link'></field>
-			<field reporter:label='Ratio' name='ratio'></field>
-		</fields>
-		<links>
-			<link field='from_currency' reltype='has_a' class='acqct' key='code' map=''></link>
-			<link field='to_currency' reltype='has_a' class='acqct' key='code' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create global_required='true' permission='ADMIN_CURRENCY_TYPE'></create>
-				<retrieve></retrieve>
-				<update global_required='true' permission='ADMIN_CURRENCY_TYPE'></update>
-				<delete global_required='true' permission='ADMIN_CURRENCY_TYPE'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::provider' reporter:label='Provider' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.provider' id='acqpro'>
-		<fields oils_persist:sequence='acq.provider_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Provider ID' name='id' reporter:datatype='id' reporter:selector='code'></field>
-			<field reporter:label='Provider Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Owner' name='owner' reporter:datatype='org_unit'></field>
-			<field reporter:label='Currency' name='currency_type' reporter:datatype='link' oils_persist:primitive='string'></field>
-			<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-			<field reporter:label='Holdings Tag' name='holding_tag' reporter:datatype='text'></field>
-			<field reporter:label='Addresses' name='addresses' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='currency_type' reltype='has_a' class='acqct' key='code' map=''></link>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-            <link field='addresses' reltype='has_many' class='acqpa' key='provider' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owner' permission='ADMIN_PROVIDER'></create>
-                <retrieve context_field='owner' permission='ADMIN_PROVIDER MANAGE_PROVIDER VIEW_PROVIDER'></retrieve>
-                <update context_field='owner' permission='ADMIN_PROVIDER'></update>
-                <delete context_field='owner' permission='ADMIN_PROVIDER'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::provider_address' reporter:label='Provider Address' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.provider_address' id='acqpa'>
-		<fields oils_persist:sequence='acq.provider_address_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Address Type' name='address_type' reporter:datatype='text'></field>
-			<field reporter:label='City' name='city' reporter:datatype='text'></field>
-			<field reporter:label='Country' name='country' reporter:datatype='text'></field>
-			<field reporter:label='County' name='county' reporter:datatype='text'></field>
-			<field name='id' reporter:datatype='id'></field>
-			<field reporter:label='Provider' name='provider' reporter:datatype='link'></field>
-			<field reporter:label='Post Code' name='post_code' reporter:datatype='text'></field>
-			<field reporter:label='State' name='state' reporter:datatype='text'></field>
-			<field reporter:label='Street 1' name='street1' reporter:datatype='text'></field>
-			<field reporter:label='Street 2' name='street2' reporter:datatype='text'></field>
-			<field reporter:label='Is Valid?' name='valid' reporter:datatype='bool'></field>
-		</fields>
-		<links>
-			<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='ADMIN_PROVIDER'>
-                    <context field='owner' link='provider'></context>
-                </create>
-                <retrieve permission='ADMIN_PROVIDER'>
-                    <context field='owner' link='provider'></context>
-                </retrieve>
-                <update permission='ADMIN_PROVIDER'>
-                    <context field='owner' link='provider'></context>
-                </update>
-                <delete permission='ADMIN_PROVIDER'>
-                    <context field='owner' link='provider'></context>
-                </delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::provider_contact' reporter:label='Provider Contact' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.provider_contact' id='acqpc'>
-		<fields oils_persist:sequence='acq.provider_contact_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field reporter:label='Provider' name='provider' reporter:datatype='link'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='Role' name='role' reporter:datatype='text'></field>
-			<field reporter:label='Email' name='email' reporter:datatype='text'></field>
-			<field reporter:label='Phone' name='phone' reporter:datatype='text'></field>
-        </fields>
-		<links>
-			<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='ADMIN_PROVIDER'>
-                    <context field='owner' link='provider'></context>
-                </create>
-                <retrieve permission='ADMIN_PROVIDER'>
-                    <context field='owner' link='provider'></context>
-                </retrieve>
-                <update permission='ADMIN_PROVIDER'>
-                    <context field='owner' link='provider'></context>
-                </update>
-                <delete permission='ADMIN_PROVIDER'>
-                    <context field='owner' link='provider'></context>
-                </delete>
-            </actions>
-        </permacrud>
-    </class>
-	<class oils_obj:fieldmapper='acq::provider_contact_address' reporter:label='Provider Contact Address' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.provider_contact_address' id='acqpca'>
-		<fields oils_persist:sequence='acq.provider_contact_address_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Type' name='address_type' reporter:datatype='text'></field>
-			<field reporter:label='City' name='city' reporter:datatype='text'></field>
-			<field reporter:label='Country' name='country' reporter:datatype='text'></field>
-			<field reporter:label='County' name='county' reporter:datatype='text'></field>
-			<field reporter:label='Address ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Postal Code' name='post_code' reporter:datatype='text'></field>
-			<field reporter:label='State' name='state' reporter:datatype='text'></field>
-			<field reporter:label='Street (1)' name='street1' reporter:datatype='text'></field>
-			<field reporter:label='Street (2)' name='street2' reporter:datatype='text'></field>
-			<field reporter:label='Contact' name='contact' reporter:datatype='link'></field>
-			<field reporter:label='Valid Address?' name='valid' reporter:datatype='bool'></field>
-		</fields>
-		<links>
-			<link field='contact' reltype='has_a' class='acqpc' key='id' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='ADMIN_PROVIDER'>
-                    <context jump='provider' field='owner' link='contact'></context>
-                </create>
-                <retrieve permission='ADMIN_PROVIDER'>
-                    <context jump='provider' field='owner' link='contact'></context>
-                </retrieve>
-                <update permission='ADMIN_PROVIDER'>
-                    <context jump='provider' field='owner' link='contact'></context>
-                </update>
-                <delete permission='ADMIN_PROVIDER'>
-                    <context jump='provider' field='owner' link='contact'></context>
-                </delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::funding_source' reporter:label='Funding Source' controller='open-ils.cstore open-ils.reporter-store open-ils.pcrud' oils_persist:tablename='acq.funding_source' id='acqfs'>
-		<fields oils_persist:sequence='acq.funding_source_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Funding Source ID' name='id' reporter:datatype='id' reporter:selector='code'></field>
-			<field reporter:label='Funding Source Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Owner' name='owner' reporter:datatype='org_unit'></field>
-			<field reporter:label='Currency' name='currency_type' reporter:datatype='link' oils_persist:primitive='string'></field>
-			<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-			<field name='summary' oils_persist:virtual='true'></field>
-			<field reporter:label='Allocations' name='allocations' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Credits' name='credits' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='currency_type' reltype='has_a' class='acqct' key='code' map=''></link>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-            <link field='allocations' reltype='has_many' class='acqfa' key='funding_source' map=''></link>
-            <link field='credits' reltype='has_many' class='acqfscred' key='funding_source' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owner' permission='ADMIN_FUNDING_SOURCE'></create>
-                <retrieve context_field='owner' permission='ADMIN_FUNDING_SOURCE MANAGE_FUNDING_SOURCE VIEW_FUNDING_SOURCE'></retrieve>
-                <update context_field='owner' permission='ADMIN_FUNDING_SOURCE'></update>
-                <delete context_field='owner' permission='ADMIN_FUNDING_SOURCE'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::funding_source_credit' reporter:label='Credit to Funding Source' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.funding_source_credit' id='acqfscred'>
-		<fields oils_persist:sequence='acq.funding_source_credit_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Credit ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Funding Source ID' name='funding_source' reporter:datatype='link'></field>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='funding_source' reltype='has_a' class='acqfs' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::fund_debit' reporter:label='Debit From Fund' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.fund_debit' id='acqfdeb'>
-		<fields oils_persist:sequence='acq.fund_debit_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Debit ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field>
-			<field reporter:label='Origin Amount' name='origin_amount' reporter:datatype='money'></field>
-			<field reporter:label='Origin Currency' name='origin_currency_type' reporter:datatype='link'></field>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Encumbrance' name='encumbrance' reporter:datatype='text'></field>
-			<field reporter:label='Debit Type' name='debit_type' reporter:datatype='text'></field>
-			<field reporter:label='Create Time' name='create_time' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link>
-			<link field='origin_currency_type' reltype='has_a' class='acqct' key='code' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::fund' reporter:label='Fund' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.fund' id='acqf'>
-		<fields oils_persist:sequence='acq.fund_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Fund ID' name='id' reporter:datatype='id' reporter:selector='code'></field>
-			<field reporter:label='Org Unit' name='org' reporter:datatype='org_unit'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='Year' name='year' reporter:datatype='int'></field>
-			<field reporter:label='Currency Type' name='currency_type' reporter:datatype='link'></field>
-			<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-			<field name='summary' oils_persist:virtual='true'></field>
-			<field reporter:label='Allocations' name='allocations' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Debits' name='debits' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Tags' name='tags' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='org' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='currency_type' reltype='has_a' class='acqct' key='code' map=''></link>
-            <link field='allocations' reltype='has_many' class='acqfa' key='fund' map=''></link>
-            <link field='debits' reltype='has_many' class='acqfdeb' key='fund' map=''></link>
-            <link field='tags' reltype='has_many' class='acqftm' key='fund' map=''></link>
-		</links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='org' permission='ADMIN_ACQ_FUND'></create>
-                <retrieve context_field='org' permission='ADMIN_ACQ_FUND VIEW_FUND MANAGE_FUND'></retrieve>
-                <update context_field='org' permission='ADMIN_ACQ_FUND'></update>
-                <delete context_field='org' permission='ADMIN_ACQ_FUND'></delete>
-            </actions>
-        </permacrud>
-	</class>
-
-	<class reporter:label='Fund Allocation Total' oils_persist:tablename='acq.fund_allocation_total' oils_obj:fieldmapper='acq::fund_allocation_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfat' oils_persist:readonly='true'>
-		<fields oils_persist:primary='fund'>
-			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field>
-			<field reporter:label='Total Allocation Amount' name='amount' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Total Debit from Fund' oils_persist:tablename='acq.fund_debit_total' oils_obj:fieldmapper='acq::fund_debit_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfdt' oils_persist:readonly='true'>
-		<fields oils_persist:primary='fund'>
-			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field>
-			<field reporter:label='Total Debit Amount' name='amount' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Total Fund Encumbrance' oils_persist:tablename='acq.fund_encumbrance_total' oils_obj:fieldmapper='acq::fund_encumbrance_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfet' oils_persist:readonly='true'>
-		<fields oils_persist:primary='fund'>
-			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field>
-			<field reporter:label='Total Encumbrance Amount' name='amount' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Total Spent from Fund' oils_persist:tablename='acq.fund_spent_total' oils_obj:fieldmapper='acq::fund_spent_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfst' oils_persist:readonly='true'>
-		<fields oils_persist:primary='fund'>
-			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field>
-			<field reporter:label='Total Spent Amount' name='amount' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Fund Combined Balance' oils_persist:tablename='acq.fund_combined_balance' oils_obj:fieldmapper='acq::fund_combined_balance' controller='open-ils.cstore open-ils.reporter-store' id='acqfcb' oils_persist:readonly='true'>
-		<fields oils_persist:primary='fund'>
-			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field>
-			<field reporter:label='Balance after Spent and Encumbered' name='amount' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Total Credit to Funding Source' oils_persist:tablename='acq.funding_source_credit_total' oils_obj:fieldmapper='acq::funding_source_credit_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfsrcct' oils_persist:readonly='true'>
-		<fields oils_persist:primary='funding_source'>
-			<field reporter:label='Funding Source' name='funding_source' reporter:datatype='link'></field>
-			<field reporter:label='Total Credits to Funding Source' name='amount' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='funding_source' reltype='has_a' class='acqfs' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Total Allocation to Funding Source' oils_persist:tablename='acq.funding_source_allocation_total' oils_obj:fieldmapper='acq::funding_source_allocation_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfsrcat' oils_persist:readonly='true'>
-		<fields oils_persist:primary='funding_source'>
-			<field reporter:label='Funding Source' name='funding_source' reporter:datatype='link'></field>
-			<field reporter:label='Total Allocated from Funding Source' name='amount' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='funding_source' reltype='has_a' class='acqfs' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Funding Source Balance' oils_persist:tablename='acq.funding_source_balance' oils_obj:fieldmapper='acq::funding_source_balance' controller='open-ils.cstore open-ils.reporter-store' id='acqfsrcb' oils_persist:readonly='true'>
-		<fields oils_persist:primary='funding_source'>
-			<field reporter:label='Funding Source' name='funding_source' reporter:datatype='link'></field>
-			<field reporter:label='Balance Remaining' name='amount' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='funding_source' reltype='has_a' class='acqfs' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Fund Spent Balance' oils_persist:tablename='acq.fund_spent_balance' oils_obj:fieldmapper='acq::fund_spent_balance' controller='open-ils.cstore open-ils.reporter-store' id='acqfsb' oils_persist:readonly='true'>
-		<fields oils_persist:primary='fund'>
-			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field>
-			<field reporter:label='Balance after Spent' name='amount' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::fund_allocation' reporter:label='Fund Allocation' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.fund_allocation' id='acqfa'>
-		<fields oils_persist:sequence='acq.fund_allocation_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Allocation ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Fund' name='fund' reporter:datatype='link'></field>
-			<field reporter:label='Funding Source' name='funding_source' reporter:datatype='link'></field>
-			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field>
-			<field reporter:label='Percent' name='percent' reporter:datatype='float'></field>
-			<field reporter:label='Allocating User' name='allocator' reporter:datatype='link'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Create Time' name='create_time' reporter:datatype='timestamp'></field>
-		</fields>
-		<links>
-			<link field='allocator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link>
-			<link field='funding_source' reltype='has_a' class='acqfs' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::picklist' reporter:label='Pick List' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.picklist' id='acqpl'>
-		<fields oils_persist:sequence='acq.picklist_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Picklist ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field>
-			<field reporter:label='Org Unit' name='org_unit' reporter:datatype='link'></field>
-			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Creation Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Edit Time' name='edit_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Entries' name='entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Entry Count' name='entry_count' oils_persist:virtual='true'></field>
-			<field reporter:label='Creator' name='creator' reporter:datatype='link'></field>
-			<field reporter:label='Editor' name='editor' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='entries' reltype='has_many' class='jub' key='picklist' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::purchase_order' reporter:label='Purchase Order' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.purchase_order' id='acqpo'>
-		<fields oils_persist:sequence='acq.purchase_order_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Purchase Order ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field>
-			<field reporter:label='Creation Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Edit Time' name='edit_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Provider' name='provider' reporter:datatype='link'></field>
-			<field reporter:label='State' name='state' reporter:datatype='text'></field>
-			<field reporter:label='Ordering Agency' name='ordering_agency' reporter:datatype='org_unit'></field>
-			<field reporter:label='Creator' name='creator' reporter:datatype='link'></field>
-			<field reporter:label='Editor' name='editor' reporter:datatype='link'></field>
-			<field reporter:label='Line Items' name='lineitems' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Line Item Count' name='lineitem_count' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Amount Encumbered' name='amount_encumbered' reporter:datatype='float' oils_persist:virtual='true'></field>
-			<field reporter:label='Amount Spent' name='amount_spent' reporter:datatype='float' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='default_fund' reltype='has_a' class='acqf' key='id' map=''></link>
-			<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link>
-			<link field='lineitems' reltype='has_many' class='jub' key='purchase_order' map=''></link>
-			<link field='ordering_agency' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create context_field='ordering_agency' permission='CREATE_PURCHASE_ORDER'></create>
-				<retrieve context_field='ordering_agency' permission='CREATE_PURCHASE_ORDER VIEW_PURCHASE_ORDER'></retrieve>
-				<update context_field='ordering_agency' permission='CREATE_PURCHASE_ORDER'></update>
-				<delete context_field='ordering_agency' permission='CREATE_PURCHASE_ORDER'></delete>
-			</actions>
-		</permacrud>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::po_note' reporter:label='PO Note' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.po_note' id='acqpon'>
-		<fields oils_persist:sequence='acq.po_note_id_seq' oils_persist:primary='id'>
-			<field reporter:label='PO Note ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Purchase Order' name='purchase_order' reporter:datatype='link'></field>
-			<field reporter:label='Creator' name='creator' reporter:datatype='link'></field>
-			<field reporter:label='Creation Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Edit Time' name='edit_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Editor' name='editor' reporter:datatype='link'></field>
-			<field reporter:label='Vote Value' name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='purchase_order' reltype='has_a' class='acqpo' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::lineitem' reporter:label='Line Item' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem' id='jub'>
-		<fields oils_persist:sequence='acq.lineitem_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Lineitem ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Selecting User' name='selector' reporter:datatype='link'></field>
-			<field reporter:label='Picklist' name='picklist' reporter:datatype='link'></field>
-			<field reporter:label='Purchase Order' name='purchase_order' reporter:datatype='link'></field>
-			<field reporter:label='Provider' name='provider' reporter:datatype='link'></field>
-			<field reporter:label='Creation Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Edit Time' name='edit_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='MARC' name='marc' reporter:datatype='text'></field>
-			<field reporter:label='Evergreen Bib ID' name='eg_bib_id' reporter:datatype='link'></field>
-			<field reporter:label='Source Label' name='source_label' reporter:datatype='text'></field>
-			<field reporter:label='Expected Receive Date' name='expected_recv_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='State' name='state' reporter:datatype='text'></field>
-			<field reporter:label='Creator' name='creator' reporter:datatype='link'></field>
-			<field reporter:label='Editor' name='editor' reporter:datatype='link'></field>
-			<field reporter:label='Item Count' name='item_count' reporter:datatype='int' oils_persist:virtual='true'></field>
-			<field reporter:label='Descriptive Attributes' name='attributes' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Line Item Details' name='lineitem_details' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Line Item Notes' name='lineitem_notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='selector' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link>
-			<link field='purchase_order' reltype='has_a' class='acqpo' key='id' map=''></link>
-			<link field='picklist' reltype='has_a' class='acqpl' key='id' map=''></link>
-			<link field='eg_bib_id' reltype='has_a' class='bre' key='id' map=''></link>
-			<link field='attributes' reltype='has_many' class='acqlia' key='lineitem' map=''></link>
-			<link field='lineitem_details' reltype='has_many' class='acqlid' key='lineitem' map=''></link>
-			<link field='lineitem_notes' reltype='has_many' class='acqlin' key='lineitem' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::lineitem_note' reporter:label='Line Item Note' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_note' id='acqlin'>
-		<fields oils_persist:sequence='acq.lineitem_note_id_seq' oils_persist:primary='id'>
-			<field reporter:label='PO Line Item Note ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Line Item' name='lineitem' reporter:datatype='link'></field>
-			<field reporter:label='Creator' name='creator' reporter:datatype='link'></field>
-			<field reporter:label='Creation Time' name='create_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Edit Time' name='edit_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Editor' name='editor' reporter:datatype='link'></field>
-			<field reporter:label='Vote Value' name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='lineitem' reltype='has_a' class='jub' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::lineitem_attr' reporter:label='Line Item Attribute' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_attr' id='acqlia'>
-		<fields oils_persist:sequence='acq.lineitem_attr_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Attribute Value ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Lineitem' name='lineitem' reporter:datatype='link'></field>
-			<field reporter:label='Type' name='attr_type' reporter:datatype='text'></field>
-			<field reporter:label='Name' name='attr_name' reporter:datatype='text'></field>
-			<field reporter:label='Value' name='attr_value' reporter:datatype='text'></field>
-			<field reporter:label='Definition' name='definition' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='lineitem' reltype='has_a' class='jub' key='id' map=''></link>
-			<link field='definition' reltype='has_a' class='acqliad' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::lineitem_detail' reporter:label='Line Item Detail' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_detail' id='acqlid'>
-		<fields oils_persist:sequence='acq.lineitem_detail_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Item Detail ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='PO Line Item' name='lineitem' reporter:datatype='link'></field>
-			<field reporter:label='Evergreen Copy ID' name='eg_copy_id' reporter:datatype='link'></field>
-			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field>
-			<field reporter:label='Call Number Label' name='cn_label' reporter:datatype='text'></field>
-			<field reporter:label='Actual Receive Date' name='recv_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Fund' name='fund' reporter:datatype='link'></field>
-			<field reporter:label='Fund Debit' name='fund_debit' reporter:datatype='link'></field>
-			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Shelving Location' name='location' reporter:datatype='link'></field>
-			<field reporter:label='Circ Modifier' name='circ_modifier' reporter:datatype='link'></field>
-			<field reporter:label='Note' name='note' reporter:datatype='text'></field>
-			<field reporter:label='Collection Code' name='collection_code' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='lineitem' reltype='has_a' class='jub' key='id' map=''></link>
-			<link field='eg_copy_id' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link>
-			<link field='fund_debit' reltype='has_a' class='acqfdeb' key='id' map=''></link>
-			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='location' reltype='has_a' class='acpl' key='id' map=''></link>
-			<link field='circ_modifier' reltype='has_a' class='ccm' key='code' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::lineitem_attr_definition' reporter:label='Line Item Attribute Definition' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_attr_definition' id='acqliad'>
-		<fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::lineitem_marc_attr_definition' reporter:label='Line Item MARC Attribute Definition' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_marc_attr_definition' id='acqlimad'>
-		<fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='XPath' name='xpath' reporter:datatype='text'></field>
-			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::lineitem_generated_attr_definition' reporter:label='Line Item Generated Attribute Definition' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_generated_attr_definition' id='acqligad'>
-		<fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='XPath' name='xpath' reporter:datatype='text'></field>
-			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-	</class>
-	<class oils_obj:fieldmapper='acq::lineitem_usr_attr_definition' reporter:label='Line Item User Attribute Definition' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_usr_attr_definition' id='acqliuad'>
-		<fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='User' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field>
-		</fields>
-		<links>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='acq::lineitem_provider_attr_definition' reporter:label='Line Item Provider Attribute Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.lineitem_provider_attr_definition' id='acqlipad'>
-	    <fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'>
-		<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field>
-		<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-		<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-		<field reporter:label='XPath' name='xpath' reporter:datatype='text'></field>
-		<field reporter:label='Provider' name='provider' reporter:datatype='link'></field>
-		<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field>
-        <field reporter:label='Remove' name='remove' reporter:datatype='text'></field>
-
-	    </fields>
-	    <links>
-		<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link>
-	    </links>
-            <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-                <actions>
-                    <create permission='ADMIN_PROVIDER'>
-                        <context field='owner' link='provider'></context>
-                    </create>
-                    <retrieve permission='ADMIN_PROVIDER'>
-                        <context field='owner' link='provider'></context>
-                    </retrieve>
-                    <update permission='ADMIN_PROVIDER'>
-                        <context field='owner' link='provider'></context>
-                    </update>
-                    <delete permission='ADMIN_PROVIDER'>
-                        <context field='owner' link='provider'></context>
-                    </delete>
-                </actions>
-            </permacrud>
-	</class>
+                <delete context_field='location' permission='money.collections_tracker.create'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Bibliographic Record' oils_persist:tablename='biblio.record_entry' reporter:core='true' oils_obj:fieldmapper='biblio::record_entry' controller='open-ils.cstore open-ils.pcrud' id='bre'> 
+		<fields oils_persist:sequence='biblio.record_entry_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Call Numbers' name='call_numbers' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Fixed Field Entry' name='fixed_fields' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Is Active?' name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='Record Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Record Creator' name='creator' reporter:datatype='link'></field> 
+			<field reporter:label='Is Deleted?' name='deleted' reporter:datatype='bool'></field> 
+			<field reporter:label='Last Edit Data/Time' name='edit_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Last Editing User' name='editor' reporter:datatype='link'></field> 
+			<field reporter:label='Fingerprint' name='fingerprint' reporter:datatype='text'></field> 
+			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Last Transaction ID' name='last_xact_id' reporter:datatype='text'></field> 
+			<field reporter:label='MARC21Slim' name='marc' reporter:datatype='text'></field> 
+			<field reporter:label='Overall Quality' name='quality' reporter:datatype='int'></field> 
+			<field reporter:label='Record Source' name='source' reporter:datatype='link'></field> 
+			<field reporter:label='TCN Source' name='tcn_source' reporter:datatype='text'></field> 
+			<field reporter:label='TCN Value' name='tcn_value' reporter:datatype='text'></field> 
+			<field reporter:label='Metarecord' name='metarecord' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Language Code' name='language' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Non-MARC Record Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Indexed Keyword Field Entries' name='keyword_field_entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Indexed Subject Field Entries' name='subject_field_entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Indexed Title Field Entries' name='title_field_entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Indexed Author Field Entries' name='author_field_entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Indexed Series Field Entries' name='series_field_entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Flattened MARC Fields ' name='full_record_entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Simple Record Extracts ' name='simple_record' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='simple_record' reltype='might_have' class='rmsr' key='id' map=''></link> 
+			<link field='metarecord' reltype='might_have' class='mmrsm' key='source' map='metarecord'></link> 
+			<link field='call_numbers' reltype='has_many' class='acn' key='record' map=''></link> 
+			<link field='keyword_field_entries' reltype='has_many' class='mkfe' key='source' map=''></link> 
+			<link field='fixed_fields' reltype='might_have' class='mrd' key='record' map=''></link> 
+			<link field='language' reltype='might_have' class='mrd' key='record' map='item_lang'></link> 
+			<link field='subject_field_entries' reltype='has_many' class='msfe' key='source' map=''></link> 
+			<link field='title_field_entries' reltype='has_many' class='mtfe' key='source' map=''></link> 
+			<link field='notes' reltype='has_many' class='bren' key='record' map=''></link> 
+			<link field='author_field_entries' reltype='has_many' class='mafe' key='source' map=''></link> 
+			<link field='series_field_entries' reltype='has_many' class='msefe' key='source' map=''></link> 
+			<link field='full_record_entries' reltype='has_many' class='mfr' key='record' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_MARC IMPORT_MARC'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='UPDATE_MARC'></update> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::org_unit::hours_of_operation' reporter:label='Hours of Operation' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.hours_of_operation' id='aouhoo'> 
+		<fields oils_persist:sequence='' oils_persist:primary='id'> 
+			<field name='dow_0_close'></field> 
+			<field name='dow_0_open'></field> 
+			<field name='dow_1_close'></field> 
+			<field name='dow_1_open'></field> 
+			<field name='dow_2_close'></field> 
+			<field name='dow_2_open'></field> 
+			<field name='dow_3_close'></field> 
+			<field name='dow_3_open'></field> 
+			<field name='dow_4_close'></field> 
+			<field name='dow_4_open'></field> 
+			<field name='dow_5_close'></field> 
+			<field name='dow_5_open'></field> 
+			<field name='dow_6_close'></field> 
+			<field name='dow_6_open'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='org_unit' reporter:datatype='org_unit' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='id' reltype='might_have' class='aou' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='id' permission='CREATE_HOURS_OF_OPERATION'></create> 
+                <retrieve></retrieve> 
+                <update context_field='id' permission='UPDATE_HOURS_OF_OPERATION'></update> 
+                <delete context_field='id' permission='DELETE_HOURS_OF_OPERATION'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::org_unit::closed_date' reporter:label='Closed Dates' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.org_unit_closed' id='aoucd'> 
+		<fields oils_persist:sequence='actor.org_unit_closed_id_seq' oils_persist:primary='id'> 
+			<field name='close_end' reporter:datatype='timestamp'></field> 
+			<field name='close_start' reporter:datatype='timestamp'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='org_unit' reporter:datatype='org_unit'></field> 
+			<field name='reason' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='org_unit' permission='CREATE_ORG_UNIT_CLOSING'></create> 
+                <retrieve></retrieve> 
+                <update context_field='org_unit' permission='UPDATE_ORG_UNIT_CLOSING'></update> 
+                <delete context_field='org_unit' permission='DELETE_ORG_UNIT_CLOSING'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='config::rules::circ_duration' reporter:label='Circulation Duration Rule' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.rule_circ_duration' id='crcd'> 
+		<fields oils_persist:sequence='config.rule_circ_duration_id_seq' oils_persist:primary='id'> 
+			<field name='extended' reporter:datatype='interval'></field> 
+			<field name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field name='max_renewals' reporter:datatype='int'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='normal' reporter:datatype='interval'></field> 
+			<field name='shrt' reporter:datatype='interval'></field> 
+		</fields> 
+		<links> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_CIRC_DURATION'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='UPDATE_CIRC_DURATION'></update> 
+                <delete global_required='true' permission='DELETE_CIRC_DURATION'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='money::open_billable_transaction_summary' reporter:label='Open Billable Transaction Summary' controller='open-ils.cstore' oils_persist:tablename='money.open_billable_xact_summary' id='mobts'> 
+		<fields oils_persist:sequence='' oils_persist:primary='id'> 
+			<field name='balance_owed' reporter:datatype='money'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='last_billing_note' reporter:datatype='text'></field> 
+			<field name='last_billing_ts' reporter:datatype='timestamp'></field> 
+			<field name='last_billing_type' reporter:datatype='text'></field> 
+			<field name='last_payment_note' reporter:datatype='text'></field> 
+			<field name='last_payment_ts' reporter:datatype='timestamp'></field> 
+			<field name='last_payment_type' reporter:datatype='text'></field> 
+			<field name='total_owed' reporter:datatype='money'></field> 
+			<field name='total_paid' reporter:datatype='money'></field> 
+			<field name='usr' reporter:datatype='link'></field> 
+			<field name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field name='xact_start' reporter:datatype='timestamp'></field> 
+			<field name='xact_type' reporter:datatype='text'></field> 
+			<field name='xact' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='grocery' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='circulation' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='billing_location' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='xact' reltype='might_have' class='mbt' key='id' map=''></link> 
+			<link field='circulation' reltype='might_have' class='circ' key='id' map=''></link> 
+			<link field='grocery' reltype='might_have' class='mg' key='id' map=''></link> 
+			<link field='billing_location' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='ILS User' oils_persist:tablename='actor.usr' reporter:core='true' oils_obj:fieldmapper='actor::user' controller='open-ils.cstore' id='au'> 
+		<fields oils_persist:sequence='actor.usr_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='All Addresses' name='addresses' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='All Library Cards' name='cards' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='All Circulations' name='checkouts' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='All Hold Requests' name='hold_requests' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='All Permissions' name='permissions' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='All User Settings' name='settings' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Standing Penalties' name='standing_penalties' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Statistical Category Entries' name='stat_cat_entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Survey Responses' name='survey_responses' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='ws_ou' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='wsid' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Active' name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field> 
+			<field reporter:label='Barred' name='barred' reporter:datatype='bool'></field> 
+			<field reporter:label='Physical Address' name='billing_address' reporter:datatype='link'></field> 
+			<field reporter:label='Current Library Card' name='card' reporter:datatype='link'></field> 
+			<field reporter:label='Claims-returned Count' name='claims_returned_count' reporter:datatype='int'></field> 
+			<field reporter:label='Record Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='User Credit Balance' name='credit_forward_balance' reporter:datatype='money'></field> 
+			<field reporter:label='Daytime Phone' name='day_phone' reporter:datatype='text'></field> 
+			<field reporter:label='Date of Birth' name='dob' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Email Address' name='email' reporter:datatype='text'></field> 
+			<field reporter:label='Evening Phone' name='evening_phone' reporter:datatype='text'></field> 
+			<field reporter:label='Privilege Expiration Date' name='expire_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Last Name' name='family_name' reporter:datatype='text'></field> 
+			<field reporter:label='First Name' name='first_given_name' reporter:datatype='text'></field> 
+			<field reporter:label='Home Library' name='home_ou' reporter:datatype='org_unit'></field> 
+			<field reporter:label='User ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Primary Identification Type' name='ident_type' reporter:datatype='link'></field> 
+			<field reporter:label='Secondary Identification Type' name='ident_type2' reporter:datatype='link'></field> 
+			<field reporter:label='Primary Identification' name='ident_value' reporter:datatype='text'></field> 
+			<field reporter:label='Secondary Identification' name='ident_value2' reporter:datatype='text'></field> 
+			<field name='last_xact_id' reporter:datatype='text'></field> 
+			<field reporter:label='Mailing Address' name='mailing_address' reporter:datatype='link'></field> 
+			<field reporter:label='Is Group Lead Account' name='master_account' reporter:datatype='bool'></field> 
+			<field reporter:label='Internet Access Level' name='net_access_level' reporter:datatype='link'></field> 
+			<field reporter:label='Other Phone' name='other_phone' reporter:datatype='text'></field> 
+			<field reporter:label='Password' name='passwd' reporter:datatype='text'></field> 
+			<field reporter:label='Photo URL' name='photo_url' reporter:datatype='text'></field> 
+			<field reporter:label='Prefix' name='prefix' reporter:datatype='text'></field> 
+			<field reporter:label='Main (Profile) Permission Group' name='profile' reporter:datatype='link'></field> 
+			<field reporter:label='Middle Name' name='second_given_name' reporter:datatype='text'></field> 
+			<field reporter:label='Standing (unused)' name='standing' reporter:datatype='link'></field> 
+			<field reporter:label='Suffix/Title' name='suffix' reporter:datatype='text'></field> 
+			<field reporter:label='Is Super User' name='super_user' reporter:datatype='bool'></field> 
+			<field reporter:label='Family Linkage or other Group' name='usrgroup' reporter:datatype='int'></field> 
+			<field reporter:label='OPAC/Staff Client User Name' name='usrname' reporter:datatype='text'></field> 
+			<field reporter:label='OPAC/Staff Client Holds Alias' name='alias' reporter:datatype='text'></field> 
+			<field reporter:label='Juvenile' name='juvenile' reporter:datatype='bool'></field> 
+			<field reporter:label='Additional Permission Groups' name='groups' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field> 
+			<field reporter:label='User Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Demographic Info' name='demographic' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billable Transactions' name='billable_transactions' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Money Summary' name='money_summary' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Open Billable Transactions' name='open_billable_transactions_summary' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Checkins' name='checkins' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Circulations Performed as Staff' name='performed_circulations' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Reservations' name='reservations' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='demographic' reltype='might_have' class='rud' key='id' map=''></link> 
+			<link field='net_access_level' reltype='has_a' class='cnal' key='id' map=''></link> 
+			<link field='profile' reltype='has_a' class='pgt' key='id' map=''></link> 
+			<link field='ident_type' reltype='has_a' class='cit' key='id' map=''></link> 
+			<link field='billing_address' reltype='has_a' class='aua' key='id' map=''></link> 
+			<link field='mailing_address' reltype='has_a' class='aua' key='id' map=''></link> 
+			<link field='home_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='standing' reltype='has_a' class='cst' key='id' map=''></link> 
+			<link field='card' reltype='has_a' class='ac' key='id' map=''></link> 
+			<link field='ident_type2' reltype='has_a' class='cit' key='id' map=''></link> 
+			<link field='stat_cat_entries' reltype='has_many' class='actscecm' key='target_usr' map=''></link> 
+			<link field='groups' reltype='has_many' class='pugm' key='usr' map='grp'></link> 
+			<link field='usrgroup' reltype='has_many' class='au' key='usrgroup' map=''></link> 
+			<link field='checkouts' reltype='has_many' class='circ' key='usr' map=''></link> 
+			<link field='hold_requests' reltype='has_many' class='circ' key='usr' map=''></link> 
+			<link field='permissions' reltype='has_many' class='pupm' key='usr' map='perm'></link> 
+			<link field='settings' reltype='has_many' class='aus' key='usr' map=''></link> 
+			<link reporter:label='Billable Transactions' map='' reltype='has_many' field='billable_transactions' key='usr' class='mbt'></link> 
+			<link field='open_billable_transactions_summary' reltype='has_many' class='mobts' key='usr' map=''></link> 
+			<link field='money_summary' reltype='might_have' class='mus' key='usr' map=''></link> 
+			<link field='standing_penalties' reltype='has_many' class='ausp' key='usr' map=''></link> 
+			<link field='addresses' reltype='has_many' class='aua' key='usr' map=''></link> 
+			<link field='survey_responses' reltype='has_many' class='asvr' key='usr' map=''></link> 
+			<link field='notes' reltype='has_many' class='aun' key='usr' map=''></link> 
+			<link reporter:label='Check-ins Performed as Staff' map='' reltype='has_many' field='checkins' key='checkin_staff' class='circ'></link> 
+			<link field='cards' reltype='has_many' class='ac' key='usr' map=''></link> 
+			<link reporter:label='Circulations Performed as Staff' map='' reltype='has_many' field='performed_circulations' key='circ_staff' class='circ'></link> 
+			<link field='reservations' reltype='has_many' class='bresv' key='usr' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::org_unit_setting' reporter:label='Organizational Unit Setting' controller='open-ils.cstore' oils_persist:tablename='actor.org_unit_setting' id='aous'> 
+		<fields oils_persist:sequence='actor.org_unit_setting_id_seq' oils_persist:primary='id'> 
+			<field name='id'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='org_unit' reporter:datatype='org_unit'></field> 
+			<field name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='asset::copy_note' reporter:label='Copy Note' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='asset.copy_note' id='acpn'> 
+		<fields oils_persist:sequence='asset.copy_note_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Note Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Note Creator' name='creator' reporter:datatype='link'></field> 
+			<field reporter:label='Note ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Copy' name='owning_copy' reporter:datatype='link'></field> 
+			<field reporter:label='Is OPAC Visible?' name='pub' reporter:datatype='bool'></field> 
+			<field reporter:label='Note Title' name='title' reporter:datatype='text'></field> 
+			<field reporter:label='Note Content' name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='owning_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='CREATE_COPY_NOTE'> 
+                    <context field='circ_lib' link='owning_copy'></context> 
+                </create> 
+                <retrieve permission='VIEW_COPY_NOTES'> 
+                    <context field='circ_lib' link='owning_copy'></context> 
+                </retrieve> 
+                <update permission='UPDATE_COPY_NOTE'> 
+                    <context field='circ_lib' link='owning_copy'></context> 
+                </update> 
+                <delete permission='DELETE_COPY_NOTE'> 
+                    <context field='circ_lib' link='owning_copy'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='metabib::full_rec' reporter:label='Flattened MARC Fields' controller='open-ils.cstore' oils_persist:tablename='metabib.full_rec' id='mfr'> 
+		<fields oils_persist:sequence='metabib.full_rec_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Field ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Indicator 1' name='ind1' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Indicator 2' name='ind2' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Bib Record Entry' name='record' reporter:datatype='link'></field> 
+			<field reporter:label='Subfield' name='subfield' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Tag' name='tag' reporter:datatype='text'></field> 
+			<field reporter:label='Normalized Value' name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='record' reltype='has_a' class='bre' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='metabib::metarecord' reporter:label='Metarecord' controller='open-ils.cstore' oils_persist:tablename='metabib.metarecord' id='mmr'> 
+		<fields oils_persist:sequence='metabib.metarecord_id_seq' oils_persist:primary='id'> 
+			<field name='fingerprint' reporter:datatype='text'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='master_record' reporter:datatype='link'></field> 
+			<field name='mods' reporter:datatype='text'></field> 
+			<field name='source_records' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='master_record' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='source_records' reltype='has_many' class='mmrsm' key='metarecord' map='source'></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='config::net_access_level' reporter:label='Net Access Level' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.net_access_level' id='cnal'> 
+		<fields oils_persist:sequence='config.net_access_level_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_NET_ACCESS_LEVEL'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='UPDATE_NET_ACCESS_LEVEL'></update> 
+                <delete global_required='true' permission='DELETE_NET_ACCESS_LEVEL'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='permission::perm_list' reporter:label='Permission List' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='permission.perm_list' id='ppl'> 
+		<fields oils_persist:sequence='permission.perm_list_id_seq' oils_persist:primary='id'> 
+			<field name='code' reporter:datatype='text'></field> 
+			<field name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field name='id' reporter:datatype='id' reporter:selector='code'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_PERM'></create> 
+                <retrieve global_required='true' permission='CREATE_PERM UPDATE_PERM DELETE_PERM'></retrieve> 
+                <update global_required='true' permission='UPDATE_PERM'></update> 
+                <delete global_required='true' permission='DELETE_PERM'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Metarecord Source Map' oils_persist:tablename='metabib.metarecord_source_map' oils_obj:fieldmapper='metabib::metarecord_source_map' controller='open-ils.cstore' oils_persist:field_safe='true' id='mmrsm'> 
+		<fields oils_persist:sequence='metabib.metarecord_source_map_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='metarecord' reporter:datatype='link'></field> 
+			<field name='source' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='source' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='metarecord' reltype='has_a' class='mmr' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='metabib::keyword_field_entry' reporter:label='Keyword Field Entry' controller='open-ils.cstore' oils_persist:tablename='metabib.keyword_field_entry' id='mkfe'> 
+		<fields oils_persist:sequence='metabib.keyword_field_entry_id_seq' oils_persist:primary='id'> 
+			<field name='field' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='source' reporter:datatype='link'></field> 
+			<field name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='source' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='field' reltype='has_a' class='cmf' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='money::cash_payment' reporter:label='Cash Payment' controller='open-ils.cstore' oils_persist:tablename='money.cash_payment' id='mcp'> 
+		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'> 
+			<field name='accepting_usr' reporter:datatype='link'></field> 
+			<field name='amount' reporter:datatype='money'></field> 
+			<field name='amount_collected' reporter:datatype='money'></field> 
+			<field name='cash_drawer' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+			<field name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field name='xact' reporter:datatype='link'></field> 
+			<field name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+			<field name='payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link> 
+			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='cash_drawer' reltype='has_a' class='aws' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='money::forgive_payment' reporter:label='Forgive Payment' controller='open-ils.cstore' oils_persist:tablename='money.forgive_payment' id='mfp'> 
+		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'> 
+			<field name='accepting_usr' reporter:datatype='link'></field> 
+			<field name='amount' reporter:datatype='money'></field> 
+			<field name='amount_collected' reporter:datatype='money'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+			<field name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field name='xact' reporter:datatype='link'></field> 
+			<field name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+			<field name='payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link> 
+			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='metabib::record_descriptor' reporter:label='Basic Record Descriptor' controller='open-ils.cstore' oils_persist:tablename='metabib.rec_descriptor' id='mrd'> 
+		<fields oils_persist:sequence='metabib.rec_descriptor_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Audn' name='audience' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='BLvl' name='bib_level' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Cat Form' name='cat_form' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Character Encoding' name='char_encoding' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Ctrl' name='control_type' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='ELvl' name='enc_level' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Descriptor ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Form' name='item_form' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Lang' name='item_lang' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Type' name='item_type' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='LitF' name='lit_form' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Pub Status' name='pub_status' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Bib Record Entry' name='record' reporter:datatype='link'></field> 
+			<field reporter:label='TMat' name='type_mat' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Video Recording Format' name='vr_format' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Date1' name='date1' reporter:datatype='text' oils_persist:primitive='string'></field> 
+			<field reporter:label='Date2' name='date2' reporter:datatype='text' oils_persist:primitive='string'></field> 
+		</fields> 
+		<links> 
+			<link field='record' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='item_lang' reltype='has_a' class='clm' key='code' map=''></link> 
+			<link field='item_type' reltype='has_a' class='citm' key='code' map=''></link> 
+			<link field='bib_level' reltype='has_a' class='cblvl' key='code' map=''></link> 
+			<link field='item_form' reltype='has_a' class='cifm' key='code' map=''></link> 
+			<link field='audience' reltype='has_a' class='cam' key='code' map=''></link> 
+			<link field='lit_form' reltype='has_a' class='clfm' key='code' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='config::standing_penalty' reporter:label='Standing Penalty' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.standing_penalty' id='csp'> 
+		<fields oils_persist:sequence='config.standing_penalty_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='label' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field name='block_list' reporter:datatype='text'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_STANDING_PENALTY'></create> 
+                <retrieve global_required='true' permission='ADMIN_STANDING_PENALTY VIEW_STANDING_PENALTY'></retrieve> 
+                <update global_required='true' permission='ADMIN_STANDING_PENALTY'></update> 
+                <delete global_required='true' permission='ADMIN_STANDING_PENALTY'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='permission::grp_penalty_threshold' reporter:label='Group Penalty Threshold' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='permission.grp_penalty_threshold' id='pgpt'> 
+		<fields oils_persist:sequence='permission.grp_penalty_threshold_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Group' name='grp' reporter:datatype='link'></field> 
+			<field reporter:label='Penalty' name='penalty' reporter:datatype='link'></field> 
+			<field reporter:label='Threshold' name='threshold' reporter:datatype='float'></field> 
+			<field reporter:label='Org Unit' name='org_unit' reporter:datatype='org_unit'></field> 
+		</fields> 
+		<links> 
+			<link field='penalty' reltype='has_a' class='csp' key='id' map=''></link> 
+			<link field='grp' reltype='has_a' class='pgt' key='id' map=''></link> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+        </links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='org_unit' permission='ADMIN_GROUP_PENALTY_THRESHOLD'></create> 
+                <retrieve context_field='org_unit' permission='VIEW_GROUP_PENALTY_THRESHOLD ADMIN_GROUP_PENALTY_THRESHOLD'></retrieve> 
+                <update context_field='org_unit' permission='ADMIN_GROUP_PENALTY_THRESHOLD'></update> 
+                <delete context_field='org_unit' permission='ADMIN_GROUP_PENALTY_THRESHOLD'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Copy Status' oils_persist:tablename='config.copy_status' oils_obj:fieldmapper='config::copy_status' controller='open-ils.cstore open-ils.pcrud' id='ccs' oils_persist:restrict_primary='100'> 
+		<fields oils_persist:sequence='config.copy_status_id_seq' oils_persist:primary='id'> 
+			<field name='holdable' reporter:datatype='bool'></field> 
+			<field name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field name='opac_visible' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_COPY_STATUS'></create> 
+                <retrieve global_required='true' permission='CREATE_COPY_STATUS UPDATE_COPY_STATUS DELETE_COPY_STATUS'></retrieve> 
+                <update global_required='true' permission='UPDATE_COPY_STATUS'></update> 
+                <delete global_required='true' permission='DELETE_COPY_STATUS'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='User Standing Penalty' oils_persist:tablename='actor.usr_standing_penalty' oils_obj:fieldmapper='actor::user_standing_penalty' controller='open-ils.cstore open-ils.pcrud' id='ausp' oils_persist:restrict_primary='100'> 
+		<fields oils_persist:sequence='actor.usr_standing_penalty_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Set Date' name='set_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Staff' name='staff' reporter:datatype='link'></field> 
+			<field reporter:label='Standing Penalty' name='standing_penalty' reporter:datatype='link'></field> 
+			<field reporter:label='Org Unit' name='org_unit' reporter:datatype='link'></field> 
+			<field reporter:label='Stop Date' name='stop_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='standing_penalty' reltype='has_a' class='csp' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create permission='UPDATE_USER'><context field='home_ou' link='usr'></context></create> 
+				<retrieve permission='VIEW_USER'><context field='home_ou' link='usr'></context></retrieve> 
+				<update permission='UPDATE_USER'><context field='home_ou' link='usr'></context></update> 
+				<delete permission='UPDATE_USER'><context field='home_ou' link='usr'></context></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::user_address' reporter:label='User Address' controller='open-ils.cstore' oils_persist:tablename='actor.usr_address' id='aua'> 
+		<fields oils_persist:sequence='actor.usr_address_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Type' name='address_type' reporter:datatype='text'></field> 
+			<field reporter:label='City' name='city' reporter:datatype='text'></field> 
+			<field reporter:label='Country' name='country' reporter:datatype='text'></field> 
+			<field reporter:label='County' name='county' reporter:datatype='text'></field> 
+			<field reporter:label='Address ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Postal Code' name='post_code' reporter:datatype='text'></field> 
+			<field reporter:label='State' name='state' reporter:datatype='text'></field> 
+			<field reporter:label='Street (1)' name='street1' reporter:datatype='text'></field> 
+			<field reporter:label='Street (2)' name='street2' reporter:datatype='text'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Valid Address?' name='valid' reporter:datatype='bool'></field> 
+			<field reporter:label='Within City Limits?' name='within_city_limits' reporter:datatype='bool'></field> 
+			<field reporter:label='Replaces' name='replaces' reporter:datatype='link'></field> 
+			<field reporter:label='Pending' name='pending' reporter:datatype='bool'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='replaces' reltype='has_a' class='aua' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='asset::call_number_note' reporter:label='Call Number Note' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='asset.call_number_note' id='acnn'> 
+		<fields oils_persist:sequence='asset.call_number_note_id_seq' oils_persist:primary='id'> 
+			<field name='call_number'></field> 
+			<field name='create_date' reporter:datatype='timestamp'></field> 
+			<field name='creator' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='pub' reporter:datatype='bool'></field> 
+			<field name='title' reporter:datatype='text'></field> 
+			<field name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='call_number' reltype='has_a' class='acn' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='CREATE_VOLUME_NOTE'> 
+                    <context field='owning_lib' link='call_number'></context> 
+                </create> 
+                <retrieve permission='VIEW_VOLUME_NOTES'> 
+                    <context field='owning_lib' link='call_number'></context> 
+                </retrieve> 
+                <update permission='UPDATE_VOLUME_NOTE'> 
+                    <context field='owning_lib' link='call_number'></context> 
+                </update> 
+                <delete permission='DELETE_VOLUME_NOTE'> 
+                    <context field='owning_lib' link='call_number'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='authority::record_note' reporter:label='Authority Record Note' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='authority.record_note' id='arn'> 
+		<fields oils_persist:sequence='authority.record_note_id_seq' oils_persist:primary='id'> 
+			<field name='create_date' reporter:datatype='timestamp'></field> 
+			<field name='creator' reporter:datatype='link'></field> 
+			<field name='edit_date' reporter:datatype='timestamp'></field> 
+			<field name='editor' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='record' reporter:datatype='link'></field> 
+			<field name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='record' reltype='has_a' class='are' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_AUTHORITY_RECORD_NOTE'></create> 
+                <retrieve global_required='true' permission='VIEW_AUTHORITY_RECORD_NOTES'></retrieve> 
+                <update global_required='true' permission='UPDATE_AUTHORITY_RECORD_NOTE'></update> 
+                <delete global_required='true' permission='DELETE_AUTHORITY_RECORD_NOTE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Circulation' oils_persist:tablename='action.circulation' reporter:core='true' oils_obj:fieldmapper='action::circulation' controller='open-ils.cstore' id='circ'> 
+		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Check In Library' name='checkin_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Check In Staff' name='checkin_staff' reporter:datatype='link'></field> 
+			<field reporter:label='Check In Date/Time' name='checkin_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Circulating Staff' name='circ_staff' reporter:datatype='link'></field> 
+			<field reporter:label='Desk Renewal' name='desk_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Due Date/Time' name='due_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulation Duration' name='duration' reporter:datatype='interval'></field> 
+			<field reporter:label='Circ Duration Rule' name='duration_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field> 
+			<field reporter:label='Circ ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field> 
+			<field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field> 
+			<field reporter:label='OPAC Renewal' name='opac_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Phone Renewal' name='phone_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Recurring Fine Amount' name='recuring_fine' reporter:datatype='money'></field> 
+			<field reporter:label='Recurring Fine Rule' name='recuring_fine_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Remaining Renewals' name='renewal_remaining' reporter:datatype='int'></field> 
+			<field reporter:label='Fine Stop Reason' name='stop_fines' reporter:datatype='text'></field> 
+			<field reporter:label='Fine Stop Date/Time' name='stop_fines_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulating Item' name='target_copy' reporter:datatype='link'></field> 
+			<field reporter:label='Patron' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Check Out Date/Time' name='xact_start' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Record Creation Date/Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Transaction Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Base Transaction' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link> 
+			<link field='circ_staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='checkin_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='checkin_staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link> 
+			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link> 
+			<link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link> 
+			<link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link> 
+			<link field='recuring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link> 
+			<link field='circ_type' reltype='might_have' class='rcirct' key='id' map=''></link> 
+			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link> 
+			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Combined Aged and Active Circulations' oils_persist:tablename='action.all_circulation' reporter:core='true' oils_obj:fieldmapper='action::all_circulation' controller='open-ils.cstore' id='combcirc' oils_persist:readonly='true'> 
+		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Check In Library' name='checkin_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Check In Staff' name='checkin_staff' reporter:datatype='link'></field> 
+			<field reporter:label='Check In Date/Time' name='checkin_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Circulating Staff' name='circ_staff' reporter:datatype='link'></field> 
+			<field reporter:label='Desk Renewal' name='desk_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Due Date/Time' name='due_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulation Duration' name='duration' reporter:datatype='interval'></field> 
+			<field reporter:label='Circ Duration Rule' name='duration_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field> 
+			<field reporter:label='Circ ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field> 
+			<field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field> 
+			<field reporter:label='OPAC Renewal' name='opac_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Phone Renewal' name='phone_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Recurring Fine Amount' name='recuring_fine' reporter:datatype='money'></field> 
+			<field reporter:label='Recurring Fine Rule' name='recuring_fine_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Remaining Renewals' name='renewal_remaining' reporter:datatype='int'></field> 
+			<field reporter:label='Fine Stop Reason' name='stop_fines' reporter:datatype='text'></field> 
+			<field reporter:label='Fine Stop Date/Time' name='stop_fines_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulating Item' name='target_copy' reporter:datatype='link'></field> 
+			<field reporter:label='Patron ZIP' name='usr_post_code' reporter:datatype='text'></field> 
+			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Check Out Date/Time' name='xact_start' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Record Creation Date/Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Transaction Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Base Transaction' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Patron Home Library' name='usr_home_ou' reporter:datatype='link'></field> 
+			<field reporter:label='Patron Profile Group' name='usr_profile' reporter:datatype='link'></field> 
+			<field reporter:label='Patron Birth Year' name='usr_birth_year' reporter:datatype='int'></field> 
+			<field reporter:label='Call Number' name='copy_call_number' reporter:datatype='link'></field> 
+			<field reporter:label='Shelving Location' name='copy_location' reporter:datatype='link'></field> 
+			<field reporter:label='Copy Owning Library' name='copy_owning_lib' reporter:datatype='link'></field> 
+			<field reporter:label='Copy Circulating Library' name='copy_circ_lib' reporter:datatype='link'></field> 
+			<field reporter:label='Bib Record' name='copy_bib_record' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link> 
+			<link field='circ_staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='checkin_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='checkin_staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link> 
+			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link> 
+			<link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link> 
+			<link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link> 
+			<link field='recuring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link> 
+			<link field='circ_type' reltype='might_have' class='rcirct' key='id' map=''></link> 
+			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link> 
+			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link> 
+			<link field='copy_call_number' reltype='has_a' class='acn' key='id' map=''></link> 
+			<link field='copy_location' reltype='has_a' class='acpl' key='id' map=''></link> 
+			<link field='copy_owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='copy_circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='copy_bib_record' reltype='has_a' class='bre' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Aged (patronless) Circulation' oils_persist:tablename='action.aged_circulation' reporter:core='true' oils_obj:fieldmapper='action::aged_circulation' controller='open-ils.cstore' id='acirc'> 
+		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Check In Library' name='checkin_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Check In Staff' name='checkin_staff' reporter:datatype='link'></field> 
+			<field reporter:label='Check In Date/Time' name='checkin_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Circulating Staff' name='circ_staff' reporter:datatype='link'></field> 
+			<field reporter:label='Desk Renewal' name='desk_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Due Date/Time' name='due_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulation Duration' name='duration' reporter:datatype='interval'></field> 
+			<field reporter:label='Circ Duration Rule' name='duration_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field> 
+			<field reporter:label='Circ ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field> 
+			<field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field> 
+			<field reporter:label='OPAC Renewal' name='opac_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Phone Renewal' name='phone_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Recurring Fine Amount' name='recuring_fine' reporter:datatype='money'></field> 
+			<field reporter:label='Recurring Fine Rule' name='recuring_fine_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Remaining Renewals' name='renewal_remaining' reporter:datatype='int'></field> 
+			<field reporter:label='Fine Stop Reason' name='stop_fines' reporter:datatype='text'></field> 
+			<field reporter:label='Fine Stop Date/Time' name='stop_fines_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulating Item' name='target_copy' reporter:datatype='link'></field> 
+			<field reporter:label='Patron ZIP' name='usr_post_code' reporter:datatype='text'></field> 
+			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Check Out Date/Time' name='xact_start' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Record Creation Date/Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Transaction Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Base Transaction' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Patron Home Library' name='usr_home_ou' reporter:datatype='link'></field> 
+			<field reporter:label='Patron Profile Group' name='usr_profile' reporter:datatype='link'></field> 
+			<field reporter:label='Patron Birth Year' name='usr_birth_year' reporter:datatype='int'></field> 
+			<field reporter:label='Call Number' name='copy_call_number' reporter:datatype='link'></field> 
+			<field reporter:label='Shelving Location' name='copy_location' reporter:datatype='link'></field> 
+			<field reporter:label='Copy Owning Library' name='copy_owning_lib' reporter:datatype='link'></field> 
+			<field reporter:label='Copy Circulating Library' name='copy_circ_lib' reporter:datatype='link'></field> 
+			<field reporter:label='Bib Record' name='copy_bib_record' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link> 
+			<link field='circ_staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='checkin_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='checkin_staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link> 
+			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link> 
+			<link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link> 
+			<link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link> 
+			<link field='recuring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link> 
+			<link field='circ_type' reltype='might_have' class='rcirct' key='id' map=''></link> 
+			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link> 
+			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link> 
+			<link field='copy_call_number' reltype='has_a' class='acn' key='id' map=''></link> 
+			<link field='copy_location' reltype='has_a' class='acpl' key='id' map=''></link> 
+			<link field='copy_owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='copy_circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='copy_bib_record' reltype='has_a' class='bre' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='booking::resource_type' reporter:label='Resource Type' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='booking.resource_type' id='brt'> 
+		<fields oils_persist:sequence='booking.resource_type_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Resource Type ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Resource Type Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field> 
+			<field reporter:label='Fine Amount' name='fine_amount' reporter:datatype='money'></field> 
+			<field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field> 
+			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Catalog Item' name='catalog_item' reporter:datatype='bool'></field> 
+			<field reporter:label='Bibliographic Record' name='record' reporter:datatype='link'></field> 
+			<field reporter:label='Transferable' name='transferable' reporter:datatype='bool'></field> 
+			<field reporter:label='Inter-booking and Inter-circulation Interval' name='elbow_room' reporter:datatype='interval'></field> 
+			<field reporter:label='Resources' name='resources' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Resource Attributes' name='resource_attrs' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Target Resource Types' name='tgt_rsrc_types' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='record' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='resources' reltype='has_many' class='brsrc' key='type' map=''></link> 
+			<link field='resource_attrs' reltype='has_many' class='bra' key='type' map=''></link> 
+			<link field='tgt_rsrc_types' reltype='has_many' class='bresv' key='type' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_BOOKING_RESOURCE_TYPE'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_BOOKING_RESOURCE_TYPE'></update> 
+				<delete global_required='true' permission='ADMIN_BOOKING_RESOURCE_TYPE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='booking::resource' reporter:label='Resource' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='booking.resource' id='brsrc'> 
+		<fields oils_persist:sequence='booking.resource_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Resource ID' name='id' reporter:datatype='id' reporter:selector='barcode'></field> 
+			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Resource Type' name='type' reporter:datatype='link'></field> 
+			<field reporter:label='Overbook' name='overbook' reporter:datatype='bool'></field> 
+			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field> 
+			<field reporter:label='Is Deposit Required' name='deposit' reporter:datatype='bool'></field> 
+			<field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='money'></field> 
+			<field reporter:label='User Fee' name='user_fee' reporter:datatype='money'></field> 
+			<field reporter:label='Resource Attribute Maps' name='attr_maps' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Reservation Target Resources' name='tgt_rsrcs' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Reservation Current Resources' name='curr_rsrcs' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Catalog Item' name='catalog_item' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='type' reltype='has_a' class='brt' key='id' map=''></link> 
+			<link field='attr_maps' reltype='has_many' class='bram' key='resource' map=''></link> 
+			<link field='tgt_rsrcs' reltype='has_many' class='bresv' key='targeted_resource' map=''></link> 
+			<link field='curr_rsrcs' reltype='has_many' class='bresv' key='current_resource' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_BOOKING_RESOURCE'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_BOOKING_RESOURCE'></update> 
+				<delete global_required='true' permission='ADMIN_BOOKING_RESOURCE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+	
+	<class oils_obj:fieldmapper='booking::resource_attr' reporter:label='Resource Attribute' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='booking.resource_attr' id='bra'> 
+		<fields oils_persist:sequence='booking.resource_attr_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Resource Attribute ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Resource Attribute Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Resource Type' name='resource_type' reporter:datatype='link'></field> 
+			<field reporter:label='Is Required' name='required' reporter:datatype='bool'></field> 
+			<field reporter:label='Valid Values' name='valid_values' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Resource Attribute Maps' name='attr_maps' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='resource_type' reltype='has_a' class='brt' key='id' map=''></link> 
+			<link field='valid_values' reltype='has_many' class='brav' key='attr' map=''></link> 
+			<link field='attr_maps' reltype='has_many' class='bram' key='attr' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_BOOKING_RESOURCE_ATTR'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_BOOKING_RESOURCE_ATTR'></update> 
+				<delete global_required='true' permission='ADMIN_BOOKING_RESOURCE_ATTR'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+	
+	<class oils_obj:fieldmapper='booking::resource_attr_value' reporter:label='Resource Attribute Value' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='booking.resource_attr_value' id='brav'> 
+		<fields oils_persist:sequence='booking.resource_attr_value_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Resource Attribute Value ID' name='id' reporter:datatype='id' reporter:selector='valid_value'></field> 
+			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Resource Attribute' name='attr' reporter:datatype='link'></field> 
+			<field reporter:label='Valid Value' name='valid_value' reporter:datatype='text'></field> 
+			<field reporter:label='Resource Attribute Maps' name='attr_maps' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Resource Attribute Value Maps' name='attr_val_maps' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='attr' reltype='has_a' class='bra' key='id' map=''></link> 
+			<link field='attr_maps' reltype='has_many' class='bram' key='id' map=''></link> 
+			<link field='attr_val_maps' reltype='has_many' class='bravm' key='attr_value' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_BOOKING_RESOURCE_ATTR_VALUE'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_BOOKING_RESOURCE_ATTR_VALUE'></update> 
+				<delete global_required='true' permission='ADMIN_BOOKING_RESOURCE_ATTR_VALUE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+	
+	<class oils_obj:fieldmapper='booking::resource_attr_map' reporter:label='Resource Attribute Map' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='booking.resource_attr_map' id='bram'> 
+		<fields oils_persist:sequence='booking.resource_attr_map_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Resource Attribute Map ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Resource' name='resource' reporter:datatype='link'></field> 
+			<field reporter:label='Resource Attribute' name='resource_attr' reporter:datatype='link'></field> 
+			<field reporter:label='Attribute Value' name='value' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='resource' reltype='has_a' class='brsrc' key='id' map=''></link> 
+			<link field='resource_attr' reltype='has_a' class='bra' key='id' map=''></link> 
+			<link field='value' reltype='has_a' class='brav' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_BOOKING_RESOURCE_ATTR_MAP'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_BOOKING_RESOURCE_ATTR_MAP'></update> 
+				<delete global_required='true' permission='ADMIN_BOOKING_RESOURCE_ATTR_MAP'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+	
+	<class oils_obj:fieldmapper='booking::reservation' reporter:label='Reservation' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='booking.reservation' id='bresv'> 
+		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction Start Date/Time' name='xact_start' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Unrecovered Debt' name='unrecovered' reporter:datatype='bool'></field> 
+			<field reporter:label='Billing Line Items' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Line Items' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Summary' name='summary' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Request Time' name='request_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Start Time' name='start_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='End Time' name='end_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Capture Time' name='capture_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Cancel Time' name='cancel_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Pickup Time' name='pickup_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Return Time' name='return_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Booking Interval' name='booking_interval' reporter:datatype='interval'></field> 
+			<field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field> 
+			<field reporter:label='Fine Amount' name='fine_amount' reporter:datatype='money'></field> 
+			<field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field> 
+			<field reporter:label='Target Resource Type' name='target_resource_type' reporter:datatype='link'></field> 
+			<field reporter:label='Target Resource' name='target_resource' reporter:datatype='link'></field> 
+			<field reporter:label='Current Resource' name='current_resource' reporter:datatype='link'></field> 
+			<field reporter:label='Request Library' name='request_lib' reporter:datatype='link'></field> 
+			<field reporter:label='Pickup Library' name='pickup_lib' reporter:datatype='link'></field> 
+			<field reporter:label='Capture Staff' name='capture_staff' reporter:datatype='link'></field> 
+			<field reporter:label='Attribute Value Maps' name='attr_val_maps' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link> 
+			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link> 
+			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link> 
+			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link> 
+			<link field='summary' reltype='might_have' class='mbts' key='id' map=''></link> 
+			<link field='target_resource_type' reltype='has_a' class='brt' key='id' map=''></link> 
+			<link field='target_resource' reltype='has_a' class='brsrc' key='id' map=''></link> 
+			<link field='current_resource' reltype='has_a' class='brsrc' key='id' map=''></link> 
+			<link field='request_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='pickup_lib' reltype='might_have' class='aou' key='id' map=''></link> 
+			<link field='capture_staff' reltype='might_have' class='au' key='id' map=''></link> 
+			<link field='attr_val_maps' reltype='has_many' class='bravm' key='reservation' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_BOOKING_RESERVATION'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_BOOKING_RESERVATION'></update> 
+				<delete global_required='true' permission='ADMIN_BOOKING_RESERVATION'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+	
+	<class oils_obj:fieldmapper='booking::reservation_attr_value_map' reporter:label='Reservation Attribute Value Map' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='booking.reservation_attr_value_map' id='bravm'> 
+		<fields oils_persist:sequence='booking.reservation_attr_value_map_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Reservation Attribute Value Map' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Reservation' name='reservation' reporter:datatype='link'></field> 
+			<field reporter:label='Attribute Map' name='attr_value' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='reservation' reltype='has_a' class='bresv' key='id' map=''></link> 
+			<link field='attr_value' reltype='has_a' class='brav' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_BOOKING_RESERVATION_ATTR_MAP'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_BOOKING_RESERVATION_ATTR_MAP'></update> 
+				<delete global_required='true' permission='ADMIN_BOOKING_RESERVATION_ATTR_MAP'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='container::call_number_bucket_item' reporter:label='Call Number Bucket Item' controller='open-ils.cstore' oils_persist:tablename='container.call_number_bucket_item' id='ccnbi'> 
+		<fields oils_persist:sequence='container.call_number_bucket_item_id_seq' oils_persist:primary='id'> 
+			<field name='bucket' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='target_call_number' reporter:datatype='link'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+			<field name='pos' reporter:datatype='int'></field> 
+			<field name='notes' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='target_call_number' reltype='has_a' class='acn' key='id' map=''></link> 
+			<link field='bucket' reltype='has_a' class='ccnb' key='id' map=''></link> 
+            <link field='notes' reltype='has_many' class='ccnbin' key='item' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::call_number_bucket_item_note' reporter:label='Call Number Bucket Item Note' controller='open-ils.cstore' oils_persist:tablename='container.call_number_bucket_item_note' id='ccnbin'> 
+		<fields oils_persist:sequence='container.call_number_bucket_item_note_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='item' reporter:datatype='link'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='item' reltype='has_a' class='ccnbi' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::biblio_record_entry_bucket' reporter:label='Bibliographic Record Entry Bucket' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket' id='cbreb'> 
+		<fields oils_persist:sequence='container.biblio_record_entry_bucket_id_seq' oils_persist:primary='id'> 
+			<field name='items' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='btype' reporter:datatype='text'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='owner' reporter:datatype='link'></field> 
+			<field name='pub' reporter:datatype='bool'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='items' reltype='has_many' class='cbrebi' key='bucket' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::biblio_record_entry_bucket_note' reporter:label='Bibliographic Record Entry Bucket Note' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_note' id='cbrebn'> 
+		<fields oils_persist:sequence='container.biblio_record_entry_bucket_note_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='bucket' reporter:datatype='link'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='bucket' reltype='has_a' class='cbreb' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='action::hold_copy_map' reporter:label='Hold Copy Map' controller='open-ils.cstore' oils_persist:tablename='action.hold_copy_map' id='ahcm'> 
+		<fields oils_persist:sequence='action.hold_copy_map_id_seq' oils_persist:primary='id'> 
+			<field name='hold' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='target_copy' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='hold' reltype='has_a' class='ahr' key='id' map=''></link> 
+			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='action::hold_notification' reporter:label='Hold Notification' controller='open-ils.cstore' oils_persist:tablename='action.hold_notification' id='ahn'> 
+		<fields oils_persist:sequence='action.hold_notification_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Hold' name='hold' reporter:datatype='link'></field> 
+			<field reporter:label='Notification ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Notification Method' name='method' reporter:datatype='text'></field> 
+			<field reporter:label='Notification Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Notifying Staff' name='notify_staff' reporter:datatype='link'></field> 
+			<field reporter:label='Notification Date/Time' name='notify_time' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='hold' reltype='has_a' class='ahr' key='id' map=''></link> 
+			<link field='notify_staff' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='asset::copy_location' reporter:label='Copy/Shelving Location' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='asset.copy_location' id='acpl'> 
+		<fields oils_persist:sequence='asset.copy_location_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Can Circulate?' name='circulate' reporter:datatype='bool'></field> 
+			<field reporter:label='Is Holdable?' name='holdable' reporter:datatype='bool'></field> 
+			<field reporter:label='Hold Capture Requires Verification' name='hold_verify' reporter:datatype='bool'></field> 
+			<field reporter:label='Location ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Is OPAC Visible?' name='opac_visible' reporter:datatype='bool'></field> 
+			<field reporter:label='Owning Org Unit' name='owning_lib' reporter:datatype='org_unit'></field> 
+		</fields> 
+		<links> 
+			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='distribution_formula_entries' reltype='has_many' class='acqdfe' key='location' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='owning_lib' permission='CREATE_COPY_LOCATION'></create> 
+                <retrieve></retrieve> 
+                <update context_field='owning_lib' permission='UPDATE_COPY_LOCATION'></update> 
+                <delete context_field='owning_lib' permission='DELETE_COPY_LOCATION'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='serial::virtual_record' reporter:label='Serial Virtual Record' controller='open-ils.cstore' id='svr' oils_persist:virtual='true'> 
+		<fields> 
+			<field name='id' oils_persist:virtual='true'></field> 
+			<field name='location' oils_persist:virtual='true'></field> 
+			<field name='owning_lib' oils_persist:virtual='true'></field> 
+			<field name='holdings' oils_persist:virtual='true'></field> 
+			<field name='current_holdings' oils_persist:virtual='true'></field> 
+			<field name='supplements' oils_persist:virtual='true'></field> 
+			<field name='current_supplements' oils_persist:virtual='true'></field> 
+			<field name='indexes' oils_persist:virtual='true'></field> 
+			<field name='current_indexes' oils_persist:virtual='true'></field> 
+			<field name='online' oils_persist:virtual='true'></field> 
+			<field name='missing' oils_persist:virtual='true'></field> 
+			<field name='incomplete' oils_persist:virtual='true'></field> 
+		</fields> 
+	</class> 
+	<class oils_obj:fieldmapper='serial::record_entry' reporter:label='Serial Record Entry' controller='open-ils.pcrud open-ils.cstore' oils_persist:tablename='serial.record_entry' id='sre'> 
+		<fields oils_persist:sequence='serial.record_entry_id_seq' oils_persist:primary='id'> 
+			<field name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='Bib Record' name='record' reporter:datatype='link'></field> 
+			<field name='create_date' reporter:datatype='timestamp'></field> 
+			<field name='creator'></field> 
+			<field name='deleted' reporter:datatype='bool'></field> 
+			<field name='edit_date' reporter:datatype='timestamp'></field> 
+			<field name='editor'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='last_xact_id'></field> 
+			<field name='marc'></field> 
+			<field name='source'></field> 
+			<field reporter:label='Owning Org Unit' name='owning_lib' reporter:datatype='org_unit'></field> 
+		</fields> 
+		<links> 
+			<link field='record' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create context_field='owning_lib' permission='CREATE_MFHD_RECORD'></create> 
+				<retrieve></retrieve> 
+				<update context_field='owning_lib' permission='UPDATE_MFHD_RECORD'></update> 
+				<delete context_field='owning_lib' permission='DELETE_MFHD_RECORD'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='serial::subscription' reporter:label='Subscription' controller='open-ils.cstore' oils_persist:tablename='serial.subscription' id='ssub'> 
+		<fields oils_persist:sequence='serial.subscription_id_seq' oils_persist:primary='id'> 
+			<field name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='Call Number' name='call_number' reporter:datatype='link'></field> 
+			<field reporter:label='URI' name='uri' reporter:datatype='link'></field> 
+			<field reporter:label='Start date' name='start_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='End date' name='end_date' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='call_number' reltype='might_have' class='acn' key='id' map=''></link> 
+			<link field='uri' reltype='might_have' class='auri' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='serial::binding_unit' reporter:label='Binding Unit' controller='open-ils.cstore' oils_persist:tablename='serial.binding_unit' id='sbu'> 
+		<fields oils_persist:sequence='serial.binding_unit_id_seq' oils_persist:primary='id'> 
+			<field name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='Subscription' name='subscription' reporter:datatype='link'></field> 
+			<field reporter:label='Label' name='label'></field> 
+		</fields> 
+		<links> 
+			<link field='subscription' reltype='has_a' class='ssub' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='serial::issuance' reporter:label='Issuance' controller='open-ils.cstore' oils_persist:tablename='serial.issuance' id='siss'> 
+		<fields oils_persist:sequence='serial.issuance_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='subscription' reporter:datatype='link'></field> 
+			<field name='target_copy' reporter:datatype='link'></field> 
+			<field name='location' reporter:datatype='link'></field> 
+			<field name='binding_unit' reporter:datatype='link'></field> 
+			<field name='label'></field> 
+		</fields> 
+		<links> 
+			<link field='subscription' reltype='has_a' class='ssub' key='id' map=''></link> 
+			<link field='target_copy' reltype='might_have' class='acp' key='id' map=''></link> 
+			<link field='location' reltype='might_have' class='acpl' key='id' map=''></link> 
+			<link field='binding_unit' reltype='might_have' class='sbu' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='serial::bib_summary' reporter:label='Bib Summary' controller='open-ils.cstore' oils_persist:tablename='serial.bib_summary' id='sbsum'> 
+		<fields oils_persist:sequence='serial.bib_summary_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='subscription' reporter:datatype='link'></field> 
+			<field name='generated_coverage' reporter:datatype='text'></field> 
+			<field name='textual_holdings' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='subscription' reltype='has_a' class='ssub' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='serial::sup_summary' reporter:label='Supplemental Issue Summary' controller='open-ils.cstore' oils_persist:tablename='serial.sup_summary' id='sssum'> 
+		<fields oils_persist:sequence='serial.sup_summary_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='subscription' reporter:datatype='link'></field> 
+			<field name='generated_coverage' reporter:datatype='text'></field> 
+			<field name='textual_holdings' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='subscription' reltype='has_a' class='ssub' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='serial::index_summary' reporter:label='Index Summary' controller='open-ils.cstore' oils_persist:tablename='serial.index_summary' id='sisum'> 
+		<fields oils_persist:sequence='serial.index_summary_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='subscription' reporter:datatype='link'></field> 
+			<field name='generated_coverage' reporter:datatype='text'></field> 
+			<field name='textual_holdings' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='subscription' reltype='has_a' class='ssub' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='asset::stat_cat_entry_copy_map' reporter:label='Statistical Category Entry Copy Map' controller='open-ils.cstore' oils_persist:tablename='asset.stat_cat_entry_copy_map' id='ascecm'> 
+		<fields oils_persist:sequence='asset.stat_cat_entry_copy_map_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='owning_copy' reporter:datatype='link'></field> 
+			<field name='stat_cat' reporter:datatype='link'></field> 
+			<field name='stat_cat_entry' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='owning_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='stat_cat_entry' reltype='has_a' class='asce' key='id' map=''></link> 
+			<link field='stat_cat' reltype='has_a' class='asc' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Item Type Map' oils_persist:tablename='config.item_type_map' oils_obj:fieldmapper='config::item_type_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='citm'> 
+		<fields oils_persist:primary='code'> 
+			<field reporter:label='Item Type Code' name='code' reporter:datatype='text' reporter:selector='value'></field> 
+			<field reporter:label='Item Type' name='value' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_MARC_CODE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_MARC_CODE'></update> 
+                <delete global_required='true' permission='ADMIN_MARC_CODE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Bib Level Map' oils_persist:tablename='config.bib_level_map' oils_obj:fieldmapper='config::bib_level_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='cblvl'> 
+		<fields oils_persist:primary='code'> 
+			<field reporter:label='Bib Level Code' name='code' reporter:datatype='text'></field> 
+			<field reporter:label='Bib Level' name='value' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_MARC_CODE'></create> 
+                <retrieve global_required='true' permission='CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE'></retrieve> 
+                <update global_required='true' permission='UPDATE_MARC_CODE'></update> 
+                <delete global_required='true' permission='DELETE_MARC_CODE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='search::relevance_adjustment' reporter:label='Relevance Adjustment' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='search.relevance_adjustment' id='sra'> 
+		<fields oils_persist:sequence='search.relevance_adjustment_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Active' name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='Index Field' name='field' reporter:datatype='link'></field> 
+			<field reporter:label='Bump Type' name='bump_type' reporter:datatype='text'></field> 
+			<field reporter:label='Multiplier' name='multiplier' reporter:datatype='number'></field> 
+		</fields> 
+		<links> 
+            <link field='field' reltype='has_a' class='cmf' key='id' map=''></link> 
+        </links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_RELEVANCE_ADJUSTMENT'></create> 
+                <retrieve global_required='true' permission='CREATE_RELEVANCE_ADJUSTMENT UPDATE_RELEVANCE_ADJUSTMENT DELETE_RELEVANCE_ADJUSTMENT'></retrieve> 
+                <update global_required='true' permission='UPDATE_RELEVANCE_ADJUSTMENT'></update> 
+                <delete global_required='true' permission='DELETE_RELEVANCE_ADJUSTMENT'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::org_lasso' reporter:label='Org Lasso' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.org_lasso' id='lasso'> 
+		<fields oils_persist:sequence='actor.org_lasso_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_LASSO'></create> 
+                <retrieve global_required='true' permission='CREATE_LASSO UPDATE_LASSO DELETE_LASSO'></retrieve> 
+                <update global_required='true' permission='UPDATE_LASSO'></update> 
+                <delete global_required='true' permission='DELETE_LASSO'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::org_lasso_map' reporter:label='Org Lasso Map' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.org_lasso_map' id='lmap'> 
+		<fields oils_persist:sequence='actor.org_lasso_map_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='lasso' reporter:datatype='link'></field> 
+			<field name='org_unit' reporter:datatype='org_unit'></field> 
+		</fields> 
+		<links> 
+			<link field='lasso' reltype='has_a' class='lasso' key='id' map=''></link> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_LASSO_MAP'></create> 
+                <retrieve global_required='true' permission='CREATE_LASSO_MAP UPDATE_LASSO_MAP DELETE_LASSO_MAP'></retrieve> 
+                <update global_required='true' permission='UPDATE_LASSO_MAP'></update> 
+                <delete global_required='true' permission='DELETE_LASSO_MAP'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::org_unit_proximity' reporter:label='Org Unit Proximity' controller='open-ils.cstore' oils_persist:tablename='actor.org_unit_proximity' id='aoup'> 
+		<fields oils_persist:sequence='actor.org_unit_proximity_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='from_org' reporter:datatype='org_unit'></field> 
+			<field name='to_org' reporter:datatype='org_unit'></field> 
+			<field name='prox' reporter:datatype='int'></field> 
+		</fields> 
+		<links> 
+			<link field='from_org' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='to_org' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Search Result' oils_persist:tablename='search.search_result' oils_obj:fieldmapper='search::search_result' controller='open-ils.cstore' id='ssr' oils_persist:readonly='true'> 
+		<fields oils_persist:sequence='actor.org_unit_proximity_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Relevance' name='rel' reporter:datatype='float'></field> 
+			<field reporter:label='Record' name='record' reporter:datatype='link'></field> 
+			<field reporter:label='Total Results' name='total' reporter:datatype='int'></field> 
+			<field reporter:label='Checked' name='checked' reporter:datatype='int'></field> 
+			<field reporter:label='Visible' name='visible' reporter:datatype='int'></field> 
+			<field reporter:label='Deleted' name='deleted' reporter:datatype='int'></field> 
+			<field reporter:label='Excluded' name='excluded' reporter:datatype='int'></field> 
+		</fields> 
+		<links></links> 
+	</class> 
+	<class oils_obj:fieldmapper='action::survey' reporter:label='Survey' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action.survey' id='asv'> 
+		<fields oils_persist:sequence='action.survey_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Questions' name='questions' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Responses' name='responses' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text'></field> 
+			<field reporter:label='Survey End Date/Time' name='end_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Survey ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='OPAC Survey?' name='opac' reporter:datatype='bool'></field> 
+			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Poll Style?' name='poll' reporter:datatype='bool'></field> 
+			<field reporter:label='Is Required?' name='required' reporter:datatype='bool'></field> 
+			<field reporter:label='Survey Start Date/Time' name='start_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Display in User Summary' name='usr_summary' reporter:datatype='bool'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='responses' reltype='has_many' class='asvr' key='survey' map=''></link> 
+			<link field='questions' reltype='has_many' class='asvq' key='survey' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='owner' permission='ADMIN_SURVEY'></create> 
+                <retrieve></retrieve> 
+                <update context_field='owner' permission='ADMIN_SURVEY'></update> 
+                <delete context_field='owner' permission='ADMIN_SURVEY'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::org_address' reporter:label='Org Address' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.org_address' id='aoa'> 
+		<fields oils_persist:sequence='actor.org_address_id_seq' oils_persist:primary='id'> 
+			<field name='address_type' reporter:datatype='text'></field> 
+			<field name='city' reporter:datatype='text'></field> 
+			<field name='country' reporter:datatype='text'></field> 
+			<field name='county' reporter:datatype='text'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='org_unit' reporter:datatype='org_unit'></field> 
+			<field name='post_code' reporter:datatype='text'></field> 
+			<field name='state' reporter:datatype='text'></field> 
+			<field name='street1' reporter:datatype='text'></field> 
+			<field name='street2' reporter:datatype='text'></field> 
+			<field name='valid' reporter:datatype='bool'></field> 
+		</fields> 
+		<links> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='org_unit' permission='CREATE_ORG_ADDRESS'></create> 
+                <retrieve></retrieve> 
+                <update context_field='org_unit' permission='UPDATE_ORG_ADDRESS'></update> 
+                <delete context_field='org_unit' permission='DELETE_ORG_ADDRESS'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Hold Request' oils_persist:tablename='action.hold_request' reporter:core='true' oils_obj:fieldmapper='action::hold_request' controller='open-ils.cstore' id='ahr'> 
+		<fields oils_persist:sequence='action.hold_request_id_seq' oils_persist:primary='id'> 
+			<field name='status' oils_persist:virtual='true'></field> 
+			<field reporter:label='Transit' name='transit' oils_persist:virtual='true'></field> 
+			<field reporter:label='Capture Date/Time' name='capture_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Currently Targeted Copy' name='current_copy'></field> 
+			<field reporter:label='Notify by Email?' name='email_notify' reporter:datatype='bool'></field> 
+			<field reporter:label='Hold Expire Date/Time' name='expire_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Fulfilling Library' name='fulfillment_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Fulfilling Staff' name='fulfillment_staff'></field> 
+			<field reporter:label='Fulfillment Date/Time' name='fulfillment_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Hold Type' name='hold_type' reporter:datatype='text'></field> 
+			<field reporter:label='Holdable Formats (for M-type hold)' name='holdable_formats' reporter:datatype='text'></field> 
+			<field reporter:label='Hold ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Notifications Phone Number' name='phone_notify' reporter:datatype='text'></field> 
+			<field reporter:label='Pickup Library' name='pickup_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Last Targeting Date/Time' name='prev_check_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Requesting Library' name='request_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Request Date/Time' name='request_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Requesting User' name='requestor' reporter:datatype='link'></field> 
+			<field reporter:label='Item Selection Depth' name='selection_depth'></field> 
+			<field reporter:label='Selection Locus' name='selection_ou' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Target Object ID' name='target' reporter:datatype='link'></field> 
+			<field reporter:label='Hold User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Hold Cancel Date/Time' name='cancel_time' reporter:datatype='timestamp'></field> 
+			<field name='notify_time' reporter:datatype='timestamp' oils_persist:virtual='true'></field> 
+			<field name='notify_count' reporter:datatype='int' oils_persist:virtual='true'></field> 
+			<field reporter:label='Notifications' name='notifications' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Bib Record link' name='bib_rec' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Eligible Copies' name='eligible_copies' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Currently Frozen' name='frozen' reporter:datatype='bool'></field> 
+			<field reporter:label='Thaw Date (if frozen)' name='thaw_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Shelf Time' name='shelf_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Cancelation cause' name='cancel_cause' reporter:datatype='link'></field> 
+			<field reporter:label='Cancelation note' name='cancel_note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='fulfillment_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='fulfillment_staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='pickup_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='selection_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='requestor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='current_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='request_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='transit' reltype='might_have' class='ahtc' key='hold' map=''></link> 
+			<link field='notifications' reltype='has_many' class='ahn' key='hold' map=''></link> 
+			<link field='eligible_copies' reltype='has_many' class='ahcm' key='hold' map='target_copy'></link> 
+			<link field='bib_rec' reltype='might_have' class='rhrr' key='id' map=''></link> 
+			<link field='cancel_cause' reltype='might_have' class='ahrcc' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Organizational Unit' oils_persist:tablename='actor.org_unit' oils_obj:fieldmapper='actor::org_unit' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='aou'> 
+		<fields oils_persist:sequence='actor.org_unit_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Subordinate Organizational Units' name='children' reporter:datatype='org_unit' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billing Address' name='billing_address' reporter:datatype='link'></field> 
+			<field reporter:label='Holds Receiving Address' name='holds_address' reporter:datatype='link'></field> 
+			<field reporter:label='Organizational Unit ID' name='id' reporter:datatype='org_unit' reporter:selector='shortname'></field> 
+			<field reporter:label='ILL Receiving Address' name='ill_address' reporter:datatype='link'></field> 
+			<field reporter:label='Mailing Address' name='mailing_address' reporter:datatype='link'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Organizational Unit Type' name='ou_type' reporter:datatype='link'></field> 
+			<field reporter:label='Parent Organizational Unit' name='parent_ou' reporter:datatype='link'></field> 
+			<field reporter:label='Short (Policy) Name' name='shortname' reporter:datatype='text'></field> 
+			<field reporter:label='Email Address' name='email' reporter:datatype='text'></field> 
+			<field reporter:label='Phone Number' name='phone' reporter:datatype='text'></field> 
+			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field> 
+			<field reporter:label='Users' name='users' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Closed Dates' name='closed_dates' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Circulations' name='circulations' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Settings' name='settings' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Addresses' name='addresses' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Checkins' name='checkins' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Workstations' name='workstations' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Reservation Requests' name='resv_requests' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Reservation Pickups' name='resv_pickups' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Resource Types' name='rsrc_types' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Resources' name='resources' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Resource Attributes' name='rsrc_attrs' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Attribute Values' name='attr_vals' reporter:datatype='link' oils_persist:virtual='true'></field> 
+ 
+		</fields> 
+		<links> 
+			<link field='billing_address' reltype='has_a' class='aoa' key='id' map=''></link> 
+			<link field='holds_address' reltype='has_a' class='aoa' key='id' map=''></link> 
+			<link field='ou_type' reltype='has_a' class='aout' key='id' map=''></link> 
+			<link field='mailing_address' reltype='has_a' class='aoa' key='id' map=''></link> 
+			<link field='parent_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='ill_address' reltype='has_a' class='aoa' key='id' map=''></link> 
+			<link field='users' reltype='has_many' class='au' key='home_ou' map=''></link> 
+			<link field='closed_dates' reltype='has_many' class='aoucd' key='org_unit' map=''></link> 
+			<link field='children' reltype='has_many' class='aou' key='parent_ou' map=''></link> 
+			<link field='circulations' reltype='has_many' class='circ' key='circ_lib' map=''></link> 
+			<link field='settings' reltype='has_many' class='aous' key='org_unit' map=''></link> 
+			<link field='addresses' reltype='has_many' class='aoa' key='org_unit' map=''></link> 
+			<link field='checkins' reltype='has_many' class='circ' key='checkin_lib' map=''></link> 
+			<link field='workstations' reltype='has_many' class='aws' key='owning_lib' map=''></link> 
+			<link field='distribution_formulas' reltype='has_many' class='acqdf' key='owner' map=''></link> 
+			<link field='distribution_formula_entries' reltype='has_many' class='acqdfe' key='owning_lib' map=''></link> 
+			<link field='resv_requests' reltype='has_many' class='bresv' key='request_lib' map=''></link> 
+			<link field='resv_pickups' reltype='has_many' class='bresv' key='pickup_lib' map=''></link> 
+			<link field='rsrc_types' reltype='has_many' class='brt' key='owner' map=''></link> 
+			<link field='resources' reltype='has_many' class='brsrc' key='owner' map=''></link> 
+			<link field='rsrc_attrs' reltype='has_many' class='bra' key='owner' map=''></link> 
+			<link field='attr_vals' reltype='has_many' class='brav' key='owner' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='parent_ou' permission='CREATE_ORG_UNIT'></create> 
+                <retrieve permission='CREATE_ORG_UNIT UPDATE_ORG_UNIT DELETE_ORG_UNIT'> 
+                    <context field='id'></context> 
+                    <context field='parent_ou'></context> 
+				</retrieve> 
+                <update context_field='id' permission='UPDATE_ORG_UNIT'></update> 
+                <delete context_field='parent_ou' permission='DELETE_ORG_UNIT'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='container::call_number_bucket' reporter:label='Call Number Bucket' controller='open-ils.cstore' oils_persist:tablename='container.call_number_bucket' id='ccnb'> 
+		<fields oils_persist:sequence='container.call_number_bucket_id_seq' oils_persist:primary='id'> 
+			<field name='items' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='btype' reporter:datatype='text'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='owner' reporter:datatype='link'></field> 
+			<field name='pub' reporter:datatype='bool'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='items' reltype='has_many' class='ccnbi' key='bucket' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::call_number_bucket_note' reporter:label='Call Number Bucket Note' controller='open-ils.cstore' oils_persist:tablename='container.call_number_bucket_note' id='ccnbn'> 
+		<fields oils_persist:sequence='container.call_number_bucket_note_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='bucket' reporter:datatype='link'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='bucket' reltype='has_a' class='ccnb' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='asset::stat_cat' reporter:label='Asset Statistical Category' controller='open-ils.cstore' oils_persist:tablename='asset.stat_cat' id='asc'> 
+		<fields oils_persist:sequence='asset.stat_cat_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Entries' name='entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Stat Cat ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field> 
+			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='entries' reltype='has_many' class='asce' key='stat_cat' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::card' reporter:label='Library Card' controller='open-ils.cstore' oils_persist:tablename='actor.card' id='ac'> 
+		<fields oils_persist:sequence='actor.card_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='IsActive?' name='active' reporter:datatype='bool'></field> 
+			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field> 
+			<field reporter:label='Card ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::stat_cat' reporter:label='User Statistical Category' controller='open-ils.cstore' oils_persist:tablename='actor.stat_cat' id='actsc'> 
+		<fields oils_persist:sequence='actor.stat_cat_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Entries' name='entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Stat Cat ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field> 
+			<field reporter:label='Owning Library' name='owner' reporter:datatype='org_unit'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='entries' reltype='has_many' class='actsce' key='stat_cat' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='metabib::series_field_entry' reporter:label='Series Field Entry' controller='open-ils.cstore' oils_persist:tablename='metabib.series_field_entry' id='msefe'> 
+		<fields oils_persist:sequence='metabib.series_field_entry_id_seq' oils_persist:primary='id'> 
+			<field name='field' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='source' reporter:datatype='link'></field> 
+			<field name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='source' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='field' reltype='has_a' class='cmf' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::user_bucket' reporter:label='User Bucket' controller='open-ils.cstore' oils_persist:tablename='container.user_bucket' id='cub'> 
+		<fields oils_persist:sequence='container.user_bucket_id_seq' oils_persist:primary='id'> 
+			<field name='items' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='btype' reporter:datatype='text'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='owner' reporter:datatype='link'></field> 
+			<field name='pub' reporter:datatype='bool'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='items' reltype='has_many' class='cubi' key='bucket' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::user_bucket_note' reporter:label='User Bucket Note' controller='open-ils.cstore' oils_persist:tablename='container.user_bucket_note' id='cubn'> 
+		<fields oils_persist:sequence='container.user_bucket_note_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='bucket' reporter:datatype='link'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='bucket' reltype='has_a' class='cub' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='money::credit_payment' reporter:label='House Credit Payment' controller='open-ils.cstore' oils_persist:tablename='money.credit_payment' id='mcrp'> 
+		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Accepting Staff Member' name='accepting_usr' reporter:datatype='link'></field> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Amount Collected' name='amount_collected' reporter:datatype='money'></field> 
+			<field reporter:label='Pyament ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Payment Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Payment Timestamp' name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction' name='xact' reporter:datatype='link'></field> 
+			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment link' name='payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link> 
+			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='authority::full_rec' reporter:label='Full Authority Record' controller='open-ils.cstore' oils_persist:tablename='authority.full_rec' id='afr'> 
+		<fields oils_persist:sequence='authority.full_rec_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='ind1'></field> 
+			<field name='ind2'></field> 
+			<field name='record'></field> 
+			<field name='subfield'></field> 
+			<field name='tag'></field> 
+			<field name='value'></field> 
+		</fields> 
+		<links> 
+			<link field='record' reltype='has_a' class='are' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='config::non_cataloged_type' reporter:label='Non-catalogued Type' controller='open-ils.cstore' oils_persist:tablename='config.non_cataloged_type' id='cnct'> 
+		<fields oils_persist:sequence='config.non_cataloged_type_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Circulation Duration' name='circ_duration' reporter:datatype='interval'></field> 
+			<field reporter:label='Non-cat Type ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='In House?' name='in_house' reporter:datatype='bool'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+		</fields> 
+		<links> 
+			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::org_unit_type' reporter:label='Organizational Unit Type' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='actor.org_unit_type' id='aout'> 
+		<fields oils_persist:sequence='actor.org_unit_type_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Subordinate Types' name='children' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Can Have Users?' name='can_have_users' reporter:datatype='bool'></field> 
+			<field reporter:label='Can Have Volumes?' name='can_have_vols' reporter:datatype='bool'></field> 
+			<field reporter:label='Type Depth' name='depth' reporter:datatype='int'></field> 
+			<field reporter:label='Type ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Type Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='OPAC Label' name='opac_label' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Parent Type' name='parent' reporter:datatype='link'></field> 
+			<field reporter:label='Org Units' name='org_units' reporter:datatype='org_unit' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='parent' reltype='has_a' class='aout' key='id' map=''></link> 
+			<link field='children' reltype='has_many' class='aout' key='parent' map=''></link> 
+			<link field='org_units' reltype='has_many' class='aou' key='ou_type' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_ORG_TYPE'></create> 
+                <retrieve global_required='true' permission='CREATE_ORG_UNIT UPDATE_ORG_UNIT DELETE_ORG_UNIT'></retrieve> 
+                <update global_required='true' permission='UPDATE_ORG_TYPE'></update> 
+                <delete global_required='true' permission='DELETE_ORG_TYPE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='biblio::record_note' reporter:label='Bib Record Note' controller='open-ils.cstore' oils_persist:tablename='biblio.record_note' id='bren'> 
+		<fields oils_persist:sequence='biblio.record_note_id_seq' oils_persist:primary='id'> 
+			<field name='create_date' reporter:datatype='timestamp'></field> 
+			<field name='creator' reporter:datatype='link'></field> 
+			<field name='edit_date' reporter:datatype='timestamp'></field> 
+			<field name='editor' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='pub' reporter:datatype='bool'></field> 
+			<field name='record' reporter:datatype='link'></field> 
+			<field name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='record' reltype='has_a' class='bre' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='money::user_circulation_summary' reporter:label='User Circulation Summary' controller='open-ils.cstore' oils_persist:tablename='money.usr_circulation_summary' id='mucs'> 
+		<fields oils_persist:sequence='' oils_persist:primary='usr'> 
+			<field name='balance_owed' reporter:datatype='money'></field> 
+			<field name='total_owed' reporter:datatype='money'></field> 
+			<field name='total_paid' reporter:datatype='money'></field> 
+			<field name='usr' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='money::grocery' reporter:label='Grocery Transaction' controller='open-ils.cstore' oils_persist:tablename='money.grocery' id='mg'> 
+		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Billing Location' name='billing_location' reporter:datatype='link'></field> 
+			<field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Transaction Finish Timestamp' name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction Start Timestamp' name='xact_start' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billable Transaction link' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link> 
+			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link> 
+			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link> 
+			<link field='billing_location' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link> 
+			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='config::bib_source' reporter:label='Bib Source' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.bib_source' id='cbs'> 
+		<fields oils_persist:sequence='config.bib_source_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id' reporter:selector='source'></field> 
+			<field name='quality' reporter:datatype='int'></field> 
+			<field name='source' reporter:datatype='text'></field> 
+			<field name='transcendant' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_BIB_SOURCE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='UPDATE_BIB_SOURCE'></update> 
+                <delete global_required='true' permission='DELETE_BIB_SOURCE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='money::billable_transaction' reporter:label='Billable Transaction' controller='open-ils.cstore' oils_persist:tablename='money.billable_xact' id='mbt'> 
+		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction Start Date/Time' name='xact_start' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Unrecovered Debt' name='unrecovered' reporter:datatype='bool'></field> 
+			<field reporter:label='Grocery Billing link' name='grocery' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Circulation Billing link' name='circulation' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billing Line Items' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Line Items' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Summary' name='summary' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='grocery' reltype='might_have' class='mg' key='id' map=''></link> 
+			<link field='circulation' reltype='might_have' class='circ' key='id' map=''></link> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link> 
+			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link> 
+			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link> 
+			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link> 
+			<link field='summary' reltype='might_have' class='mbts' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::stat_cat_entry' reporter:label='User Stat Cat Entry' controller='open-ils.cstore' oils_persist:tablename='actor.stat_cat_entry' id='actsce'> 
+		<fields oils_persist:sequence='actor.stat_cat_entry_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Entry ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Entry Owner' name='owner' reporter:datatype='link'></field> 
+			<field reporter:label='Stat Cat' name='stat_cat' reporter:datatype='link'></field> 
+			<field reporter:label='Entry Value' name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='stat_cat' reltype='has_a' class='actsc' key='id' map=''></link> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::user_bucket_item' reporter:label='User Bucket Item' controller='open-ils.cstore' oils_persist:tablename='container.user_bucket_item' id='cubi'> 
+		<fields oils_persist:sequence='container.user_bucket_item_id_seq' oils_persist:primary='id'> 
+			<field name='bucket' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='target_user' reporter:datatype='link'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+			<field name='pos' reporter:datatype='int'></field> 
+			<field name='notes' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='target_user' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='bucket' reltype='has_a' class='cub' key='id' map=''></link> 
+            <link field='notes' reltype='has_many' class='cubin' key='item' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::user_bucket_item_note' reporter:label='User Bucket Item Note' controller='open-ils.cstore' oils_persist:tablename='container.user_bucket_item_note' id='cubin'> 
+		<fields oils_persist:sequence='container.user_bucket_item_note_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='item' reporter:datatype='link'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='item' reltype='has_a' class='cubi' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='money::user_summary' reporter:label='User Summary' controller='open-ils.cstore' oils_persist:tablename='money.usr_summary' id='mus'> 
+		<fields oils_persist:sequence='' oils_persist:primary='usr'> 
+			<field name='balance_owed' reporter:datatype='money'></field> 
+			<field name='total_owed' reporter:datatype='money'></field> 
+			<field name='total_paid' reporter:datatype='money'></field> 
+			<field name='usr' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Literary Form' oils_persist:tablename='config.lit_form_map' oils_obj:fieldmapper='config::lit_form_map' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='clfm'> 
+		<fields oils_persist:sequence='' oils_persist:primary='code'> 
+			<field reporter:label='LitF Code' name='code' reporter:datatype='text'></field> 
+			<field reporter:label='LitF Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='LitF Name' name='value' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_MARC_CODE'></create> 
+                <retrieve global_required='true' permission='CREATE_MARC_CODE UPDATE_MARC_CODE DELETE_MARC_CODE'></retrieve> 
+                <update global_required='true' permission='UPDATE_MARC_CODE'></update> 
+                <delete global_required='true' permission='DELETE_MARC_CODE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='money::work_payment' reporter:label='Work Payment' controller='open-ils.cstore' oils_persist:tablename='money.work_payment' id='mwp'> 
+		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Accepting Staff Member' name='accepting_usr' reporter:datatype='link'></field> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Amount Collected' name='amount_collected' reporter:datatype='money'></field> 
+			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Payment Timestamp' name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction ID' name='xact' reporter:datatype='link'></field> 
+			<field reporter:label='Payment link' name='payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link> 
+			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='money::goods_payment' reporter:label='Goods Payment' controller='open-ils.cstore' oils_persist:tablename='money.goods_payment' id='mgp'> 
+		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Accepting Staff Member' name='accepting_usr' reporter:datatype='link'></field> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Amount Collected' name='amount_collected' reporter:datatype='money'></field> 
+			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Payment Timestamp' name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction ID' name='xact' reporter:datatype='link'></field> 
+			<field reporter:label='Payment link' name='payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link> 
+			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='action::open_circulation' reporter:label='Open Circulation' controller='open-ils.cstore' oils_persist:tablename='action.open_circulation' id='aoc'> 
+		<fields oils_persist:sequence='' oils_persist:primary='id'> 
+			<field name='checkin_lib' reporter:datatype='link'></field> 
+			<field name='checkin_staff' reporter:datatype='link'></field> 
+			<field name='checkin_time' reporter:datatype='timestamp'></field> 
+			<field name='circ_lib' reporter:datatype='org_unit'></field> 
+			<field name='circ_staff' reporter:datatype='link'></field> 
+			<field name='desk_renewal' reporter:datatype='bool'></field> 
+			<field name='due_date' reporter:datatype='timestamp'></field> 
+			<field name='duration' reporter:datatype='interval'></field> 
+			<field name='duration_rule' reporter:datatype='link'></field> 
+			<field name='fine_interval' reporter:datatype='interval'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='max_fine' reporter:datatype='money'></field> 
+			<field name='max_fine_rule' reporter:datatype='link'></field> 
+			<field name='opac_renewal' reporter:datatype='bool'></field> 
+			<field name='phone_renewal' reporter:datatype='bool'></field> 
+			<field name='recuring_fine' reporter:datatype='money'></field> 
+			<field name='recuring_fine_rule' reporter:datatype='link'></field> 
+			<field name='renewal_remaining' reporter:datatype='int'></field> 
+			<field name='stop_fines' reporter:datatype='text'></field> 
+			<field name='stop_fines_time' reporter:datatype='timestamp'></field> 
+			<field name='target_copy' reporter:datatype='link'></field> 
+			<field name='usr' reporter:datatype='link'></field> 
+			<field name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field name='xact_start' reporter:datatype='timestamp'></field> 
+			<field name='circulation' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='circulation' reltype='might_have' class='circ' key='id' map=''></link> 
+			<link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link> 
+			<link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link> 
+			<link field='recuring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='metabib::subject_field_entry' reporter:label='Subject Field Entry' controller='open-ils.cstore' oils_persist:tablename='metabib.subject_field_entry' id='msfe'> 
+		<fields oils_persist:sequence='metabib.subject_field_entry_id_seq' oils_persist:primary='id'> 
+			<field name='field' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='source' reporter:datatype='link'></field> 
+			<field name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='source' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='field' reltype='has_a' class='cmf' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='config::rules::recuring_fine' reporter:label='Recurring Fine Rule' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.rule_recuring_fine' id='crrf'> 
+		<fields oils_persist:sequence='config.rule_recuring_fine_id_seq' oils_persist:primary='id'> 
+			<field name='high' reporter:datatype='money'></field> 
+			<field name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field name='low' reporter:datatype='money'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='normal' reporter:datatype='money'></field> 
+			<field name='recurance_interval' reporter:datatype='interval'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_RECURING_FINE_RULE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_RECURING_FINE_RULE'></update> 
+                <delete global_required='true' permission='ADMIN_RECURING_FINE_RULE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='money::check_payment' reporter:label='Check Payment' controller='open-ils.cstore' oils_persist:tablename='money.check_payment' id='mckp'> 
+		<fields oils_persist:sequence='money.payment_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Accepting Staff Member' name='accepting_usr' reporter:datatype='link'></field> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Amount Collected' name='amount_collected' reporter:datatype='money'></field> 
+			<field reporter:label='Workstation link' name='cash_drawer' reporter:datatype='link'></field> 
+			<field reporter:label='Check Number' name='check_number' reporter:datatype='int'></field> 
+			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Payment Timestamp' name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction link' name='xact' reporter:datatype='link'></field> 
+			<field reporter:label='Payment link' name='payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='payment' reltype='might_have' class='mp' key='id' map=''></link> 
+			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='cash_drawer' reltype='has_a' class='aws' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Item' oils_persist:tablename='asset.copy' reporter:core='true' oils_obj:fieldmapper='asset::copy' controller='open-ils.cstore open-ils.pcrud' id='acp'> 
+		<fields oils_persist:sequence='asset.copy_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Statistical Category Entries' name='stat_cat_entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Age Hold Protection' name='age_protect' reporter:datatype='link'></field> 
+			<field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field> 
+			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field> 
+			<field reporter:label='Call Number/Volume' name='call_number' reporter:datatype='link'></field> 
+			<field reporter:label='Circulation Type (MARC)' name='circ_as_type' reporter:datatype='text'></field> 
+			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='link'></field> 
+			<field reporter:label='Can Circulate' name='circulate' reporter:datatype='bool'></field> 
+			<field reporter:label='Copy Number on Volume' name='copy_number' reporter:datatype='text'></field> 
+			<field reporter:label='Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Creating User' name='creator' reporter:datatype='link'></field> 
+			<field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field> 
+			<field reporter:label='Is Deposit Required' name='deposit' reporter:datatype='bool'></field> 
+			<field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='money'></field> 
+			<field reporter:label='Precat Dummy Author' name='dummy_author' reporter:datatype='text'></field> 
+			<field reporter:label='Precat Dummy Title' name='dummy_title' reporter:datatype='text'></field> 
+			<field reporter:label='Last Edit Date/Time' name='edit_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Last Editing User' name='editor' reporter:datatype='link'></field> 
+			<field reporter:label='Fine Level' name='fine_level' reporter:datatype='int'></field> 
+			<field reporter:label='Is Holdable' name='holdable' reporter:datatype='bool'></field> 
+			<field reporter:label='Copy ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Loan Duration' name='loan_duration' reporter:datatype='int'></field> 
+			<field reporter:label='Shelving Location' name='location' reporter:datatype='link'></field> 
+			<field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field> 
+			<field reporter:label='Price' name='price' reporter:datatype='money'></field> 
+			<field reporter:label='Is Reference' name='ref' reporter:datatype='bool'></field> 
+			<field reporter:label='Copy Status' name='status' reporter:datatype='link'></field> 
+			<field reporter:label='Copy Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Stat-Cat entry maps' name='stat_cat_entry_copy_maps' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Circulations' name='circulations' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Total Circulations' name='total_circ_count' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Holds' name='holds' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='age_protect' reltype='has_a' class='crahp' key='id' map=''></link> 
+			<link field='call_number' reltype='has_a' class='acn' key='id' map=''></link> 
+			<link field='location' reltype='has_a' class='acpl' key='id' map=''></link> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='status' reltype='has_a' class='ccs' key='id' map=''></link> 
+			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='holds' reltype='has_many' class='ahcm' key='target_copy' map='hold'></link> 
+			<link field='stat_cat_entry_copy_maps' reltype='has_many' class='ascecm' key='owning_copy' map=''></link> 
+			<link field='notes' reltype='has_many' class='acpn' key='owning_copy' map=''></link> 
+			<link field='stat_cat_entries' reltype='has_many' class='ascecm' key='owning_copy' map='stat_cat_entry'></link> 
+			<link field='circulations' reltype='has_many' class='circ' key='target_copy' map=''></link> 
+			<link field='total_circ_count' reltype='might_have' class='erfcc' key='id' map=''></link> 
+			<link field='circ_modifier' reltype='has_a' class='ccm' key='code' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='CREATE_COPY'> 
+                    <context field='owning_lib' link='call_number'></context> 
+                </create> 
+                <retrieve></retrieve> 
+                <update permission='UPDATE_COPY'> 
+                    <context field='owning_lib' link='call_number'></context> 
+                </update> 
+                <delete permission='DELETE_COPY'> 
+                    <context field='owning_lib' link='call_number'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='config::rules::age_hold_protect' reporter:label='Age Hold Protection Rule' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.rule_age_hold_protect' id='crahp'> 
+		<fields oils_persist:sequence='config.rule_age_hold_protect_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Item Age' name='age' reporter:datatype='interval'></field> 
+			<field reporter:label='Rule ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Rule Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Allowed Proximity' name='prox' reporter:datatype='int'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_AGE_PROTECT_RULE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_AGE_PROTECT_RULE'></update> 
+                <delete global_required='true' permission='ADMIN_AGE_PROTECT_RULE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='config::rules::max_fine' reporter:label='Max Fine Rule' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='config.rule_max_fine' id='crmf'> 
+		<fields oils_persist:sequence='config.rule_max_fine_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Max Fine Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Rule ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Rule Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Is Percent' name='is_percent' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_MAX_FINE_RULE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_MAX_FINE_RULE'></update> 
+                <delete global_required='true' permission='ADMIN_MAX_FINE_RULE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='permission::grp_tree' reporter:label='Permission Group' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='permission.grp_tree' id='pgt'> 
+		<fields oils_persist:sequence='permission.grp_tree_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Child Groups' name='children' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Group ID' name='id' reporter:datatype='id' reporter:selector='name'></field> 
+			<field reporter:label='Group Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Parent Group' name='parent' reporter:datatype='link'></field> 
+			<field reporter:label='User Expiration Interval' name='perm_interval' reporter:datatype='interval'></field> 
+			<field reporter:label='Required Permission' name='application_perm' reporter:datatype='text'></field> 
+			<field reporter:label='Is User Group' name='usergroup' reporter:datatype='bool'></field> 
+		</fields> 
+		<links> 
+			<link field='parent' reltype='has_a' class='pgt' key='id' map=''></link> 
+			<link field='children' reltype='has_many' class='pgt' key='parent' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_PERM'></create> 
+                <retrieve global_required='true' permission='STAFF_LOGIN'></retrieve> 
+                <update global_required='true' permission='UPDATE_PERM'></update> 
+                <delete global_required='true' permission='DELETE_PERM'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='action::survey_answer' reporter:label='Survey Answer' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='action.survey_answer' id='asva'> 
+		<fields oils_persist:sequence='action.survey_answer_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Responses using this Answer' name='responses' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Answer Text' name='answer' reporter:datatype='text'></field> 
+			<field reporter:label='Answer ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Question' name='question' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='question' reltype='has_a' class='asvq' key='id' map=''></link> 
+			<link field='responses' reltype='has_many' class='asvr' key='answer' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='ADMIN_SURVEY'> 
+                    <context jump='survey' field='owner' link='question'></context> 
+                </create> 
+                <retrieve></retrieve> 
+                <update permission='ADMIN_SURVEY'> 
+                    <context jump='survey' field='owner' link='question'></context> 
+                </update> 
+                <delete permission='ADMIN_SURVEY'> 
+                    <context jump='survey' field='owner' link='question'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Non-catalogued Circulation' oils_persist:tablename='action.non_cataloged_circulation' reporter:core='true' oils_obj:fieldmapper='action::non_cataloged_circulation' controller='open-ils.cstore' id='ancc'> 
+		<fields oils_persist:sequence='action.non_cataloged_circulation_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Circulation Date/Time' name='circ_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Non-cat Circulation ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Non-cat Item Type' name='item_type' reporter:datatype='link'></field> 
+			<field reporter:label='Patron' name='patron' reporter:datatype='link'></field> 
+			<field reporter:label='Circulating Staff' name='staff' reporter:datatype='link'></field> 
+			<field reporter:label='Virtual Due Date/Time' name='duedate' reporter:datatype='timestamp' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='item_type' reltype='has_a' class='cnct' key='id' map=''></link> 
+			<link field='staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='patron' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='money::open_user_circulation_summary' reporter:label='Open User Circulation Summary' controller='open-ils.cstore' oils_persist:tablename='money.open_usr_circulation_summary' id='moucs'> 
+		<fields oils_persist:sequence='' oils_persist:primary='usr'> 
+			<field name='balance_owed' reporter:datatype='money'></field> 
+			<field name='total_owed' reporter:datatype='money'></field> 
+			<field name='total_paid' reporter:datatype='money'></field> 
+			<field name='usr' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='action::unfulfilled_hold_list' reporter:label='Unfulfilled Hold Targets' controller='open-ils.cstore' oils_persist:tablename='action.unfulfilled_hold_list' id='aufh'> 
+		<fields oils_persist:sequence='action.unfulfilled_hold_list_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Non-fulfilling Library' name='circ_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Non-fulfilling Copy' name='current_copy' reporter:datatype='link'></field> 
+			<field reporter:label='Retargeting Date/Time' name='fail_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Hold' name='hold' reporter:datatype='link'></field> 
+			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field> 
+		</fields> 
+		<links> 
+			<link field='hold' reltype='has_a' class='ahr' key='id' map=''></link> 
+			<link field='current_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='metabib::title_field_entry' reporter:label='Title Field Entry' controller='open-ils.cstore' oils_persist:tablename='metabib.title_field_entry' id='mtfe'> 
+		<fields oils_persist:sequence='metabib.title_field_entry_id_seq' oils_persist:primary='id'> 
+			<field name='field' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='source' reporter:datatype='link'></field> 
+			<field name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='source' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='field' reltype='has_a' class='cmf' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='actor::stat_cat_entry_user_map' reporter:label='User Statistical Category Entry' controller='open-ils.cstore' oils_persist:tablename='actor.stat_cat_entry_usr_map' id='actscecm'> 
+		<fields oils_persist:sequence='actor.stat_cat_entry_usr_map_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Entry ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Statistical Category' name='stat_cat' reporter:datatype='link'></field> 
+			<field reporter:label='Entry Text' name='stat_cat_entry' reporter:datatype='text'></field> 
+			<field reporter:label='User' name='target_usr' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='target_usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='stat_cat' reltype='has_a' class='actsc' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='permission::grp_perm_map' reporter:label='Group Permission Map' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='permission.grp_perm_map' id='pgpm'> 
+		<fields oils_persist:sequence='permission.grp_perm_map_id_seq' oils_persist:primary='id'> 
+			<field name='depth' reporter:datatype='int'></field> 
+			<field name='grantable' reporter:datatype='bool'></field> 
+			<field name='grp' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='perm' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='grp' reltype='has_a' class='pgt' key='id' map=''></link> 
+			<link field='perm' reltype='has_a' class='ppl' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ASSIGN_GROUP_PERM'></create> 
+                <retrieve global_required='true' permission='ASSIGN_GROUP_PERM UPDATE_GROUP_PERM REMOVE_GROUP_PERM'></retrieve> 
+                <update global_required='true' permission='UPDATE_GROUP_PERM'></update> 
+                <delete global_required='true' permission='REMOVE_GROUP_PERM'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='container::copy_bucket' reporter:label='Copy Bucket' controller='open-ils.cstore' oils_persist:tablename='container.copy_bucket' id='ccb'> 
+		<fields oils_persist:sequence='container.copy_bucket_id_seq' oils_persist:primary='id'> 
+			<field name='items' oils_persist:virtual='true'></field> 
+			<field name='btype' reporter:datatype='text'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='owner' reporter:datatype='link'></field> 
+			<field name='pub' reporter:datatype='bool'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='items' reltype='has_many' class='ccbi' key='bucket' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::copy_bucket_note' reporter:label='Copy Bucket Note' controller='open-ils.cstore' oils_persist:tablename='container.copy_bucket_note' id='ccbn'> 
+		<fields oils_persist:sequence='container.copy_bucket_note_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='bucket' reporter:datatype='link'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='bucket' reltype='has_a' class='ccb' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='permission::usr_work_ou_map' reporter:label='User Work Org Unit Map' controller='open-ils.cstore' oils_persist:tablename='permission.usr_work_ou_map' id='puwoum'> 
+		<fields oils_persist:sequence='permission.usr_work_ou_map_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='int'></field> 
+			<field name='usr' reporter:datatype='link'></field> 
+			<field name='work_ou' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='work_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='permission::usr_perm_map' reporter:label='User Permission Map' controller='open-ils.cstore' oils_persist:tablename='permission.usr_perm_map' id='pupm'> 
+		<fields oils_persist:sequence='permission.usr_perm_map_id_seq' oils_persist:primary='id'> 
+			<field name='depth' reporter:datatype='int'></field> 
+			<field name='grantable' reporter:datatype='bool'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='perm' reporter:datatype='link'></field> 
+			<field name='usr' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='perm' reltype='has_a' class='ppl' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='permission::usr_object_perm_map' reporter:label='User Object Permission Map' controller='open-ils.cstore' oils_persist:tablename='permission.usr_object_perm_map' id='puopm'> 
+		<fields oils_persist:sequence='permission.usr_object_perm_map_id_seq' oils_persist:primary='id'> 
+			<field name='object_id' reporter:datatype='text'></field> 
+			<field name='grantable' reporter:datatype='bool'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='perm' reporter:datatype='link'></field> 
+			<field name='usr' reporter:datatype='link'></field> 
+			<field name='object_type' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='perm' reltype='has_a' class='ppl' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Payments: All' oils_persist:tablename='money.payment_view' reporter:core='true' oils_obj:fieldmapper='money::payment' controller='open-ils.cstore' id='mp'> 
+		<fields oils_persist:sequence='' oils_persist:primary='id'> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Payment Date/Time' name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text'></field> 
+			<field reporter:label='Billable Transaction' name='xact' reporter:datatype='link'></field> 
+			<field reporter:label='Voided?' name='voided' reporter:datatype='bool'></field> 
+			<field reporter:label='Cash Payment Detail' name='cash_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Credit Card Payment Detail' name='credit_card_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Credit Payment Detail' name='credit_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Check Payment Detail' name='check_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Work Payment Detail' name='work_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Forgive Payment Detail' name='forgive_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Goods Payment Detail' name='goods_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='cash_payment' reltype='might_have' class='mcp' key='id' map=''></link> 
+			<link field='credit_card_payment' reltype='might_have' class='mccp' key='id' map=''></link> 
+			<link field='credit_payment' reltype='might_have' class='mcrp' key='id' map=''></link> 
+			<link field='check_payment' reltype='might_have' class='mckp' key='id' map=''></link> 
+			<link field='work_payment' reltype='might_have' class='mwp' key='id' map=''></link> 
+			<link field='forgive_payment' reltype='might_have' class='mfp' key='id' map=''></link> 
+			<link field='goods_payment' reltype='might_have' class='mgp' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Payments: Brick-and-mortar' oils_persist:tablename='money.bnm_payment_view' reporter:core='true' oils_obj:fieldmapper='money::bnm_payment' controller='open-ils.cstore' id='mbp'> 
+		<fields oils_persist:sequence='' oils_persist:primary='id'> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Payment Date/Time' name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text'></field> 
+			<field reporter:label='Billable Transaction' name='xact' reporter:datatype='link'></field> 
+			<field reporter:label='Voided?' name='voided' reporter:datatype='bool'></field> 
+			<field reporter:label='Cash Payment Detail' name='cash_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Credit Card Payment Detail' name='credit_card_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Credit Payment Detail' name='credit_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Check Payment Detail' name='check_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Work Payment Detail' name='work_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Forgive Payment Detail' name='forgive_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Goods Payment Detail' name='goods_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='cash_payment' reltype='might_have' class='mcp' key='id' map=''></link> 
+			<link field='credit_card_payment' reltype='might_have' class='mccp' key='id' map=''></link> 
+			<link field='credit_payment' reltype='might_have' class='mcrp' key='id' map=''></link> 
+			<link field='check_payment' reltype='might_have' class='mckp' key='id' map=''></link> 
+			<link field='work_payment' reltype='might_have' class='mwp' key='id' map=''></link> 
+			<link field='forgive_payment' reltype='might_have' class='mfp' key='id' map=''></link> 
+			<link field='goods_payment' reltype='might_have' class='mgp' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Payments: Non-drawer Staff' oils_persist:tablename='money.non_drawer_payment_view' reporter:core='true' oils_obj:fieldmapper='money::non_drawer_payment' controller='open-ils.reporter' id='mndp'> 
+		<fields oils_persist:sequence='' oils_persist:primary='id'> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Payment Date/Time' name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text'></field> 
+			<field reporter:label='Billable Transaction' name='xact' reporter:datatype='link'></field> 
+			<field reporter:label='Voided?' name='voided' reporter:datatype='bool'></field> 
+			<field reporter:label='Work Payment Detail' name='work_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Forgive Payment Detail' name='forgive_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Goods Payment Detail' name='goods_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Credit Payment Detail' name='credit_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='work_payment' reltype='might_have' class='mwp' key='id' map=''></link> 
+			<link field='forgive_payment' reltype='might_have' class='mfp' key='id' map=''></link> 
+			<link field='goods_payment' reltype='might_have' class='mgp' key='id' map=''></link> 
+			<link field='credit_payment' reltype='might_have' class='mcrp' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='Payments: Desk' oils_persist:tablename='money.desk_payment_view' reporter:core='true' oils_obj:fieldmapper='money::desk_payment' controller='open-ils.cstore' id='mdp'> 
+		<fields oils_persist:sequence='' oils_persist:primary='id'> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Payment ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Payment Date/Time' name='payment_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Payment Type' name='payment_type' reporter:datatype='text'></field> 
+			<field reporter:label='Billable Transaction' name='xact' reporter:datatype='link'></field> 
+			<field reporter:label='Accepting User' name='accepting_usr'></field> 
+			<field reporter:label='Cash Drawer' name='cash_drawer' reporter:datatype='link'></field> 
+			<field reporter:label='Voided?' name='voided' reporter:datatype='bool'></field> 
+			<field reporter:label='Cash Payment' name='cash_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Credit Card Payment' name='credit_card_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Check Payment' name='check_payment' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='cash_payment' reltype='might_have' class='mcp' key='id' map=''></link> 
+			<link field='credit_card_payment' reltype='might_have' class='mccp' key='id' map=''></link> 
+			<link field='check_payment' reltype='might_have' class='mckp' key='id' map=''></link> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+			<link field='accepting_usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='cash_drawer' reltype='has_a' class='aws' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::biblio_record_entry_bucket_item' reporter:label='Biblio Record Entry Bucket Item' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_item' id='cbrebi'> 
+		<fields oils_persist:sequence='container.biblio_record_entry_bucket_item_id_seq' oils_persist:primary='id'> 
+			<field name='bucket' reporter:datatype='link'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='target_biblio_record_entry' reporter:datatype='link'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+			<field name='pos' reporter:datatype='int'></field> 
+			<field name='notes' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='target_biblio_record_entry' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='bucket' reltype='has_a' class='cbreb' key='id' map=''></link> 
+            <link field='notes' reltype='has_many' class='cbrebin' key='item' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='container::biblio_record_entry_bucket_item_note' reporter:label='Biblio Record Entry Bucket Item Note' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_item_note' id='cbrebin'> 
+		<fields oils_persist:sequence='container.biblio_record_entry_bucket_item_note_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='item' reporter:datatype='link'></field> 
+			<field name='note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='item' reltype='has_a' class='cbrebi' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='asset::stat_cat_entry' reporter:label='Item Stat Cat Entry' controller='open-ils.cstore' oils_persist:tablename='asset.stat_cat_entry' id='asce'> 
+		<fields oils_persist:sequence='asset.stat_cat_entry_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Entry ID' name='id' reporter:datatype='int'></field> 
+			<field reporter:label='Entry Owner' name='owner' reporter:datatype='link'></field> 
+			<field reporter:label='Stat Cat' name='stat_cat' reporter:datatype='link'></field> 
+			<field reporter:label='Value' name='value' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links> 
+			<link field='stat_cat' reltype='has_a' class='asc' key='id' map=''></link> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Hold Request Cancel Cause' oils_persist:tablename='action.hold_request_cancel_cause' oils_obj:fieldmapper='action::hold_request_cancel_cause' controller='open-ils.cstore open-ils.reporter-store open-ils.pcrud' id='ahrcc' oils_persist:restrict_primary='100'> 
+		<fields oils_persist:sequence='action.hold_request_cancel_cause_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Cause ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Cause Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_HOLD_CANCEL_CAUSE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_HOLD_CANCEL_CAUSE'></update> 
+                <delete global_required='true' permission='ADMIN_HOLD_CANCEL_CAUSE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+ 
+	<class reporter:label='Reservation Transit' oils_persist:tablename='action.reservation_transit_copy' reporter:core='true' oils_obj:fieldmapper='action::reservation_transit_copy' controller='open-ils.cstore open-ils.pcrud' id='artc'> 
+		<fields oils_persist:sequence='action.transit_copy_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Copy Status at Transit' name='copy_status' reporter:datatype='link'></field> 
+			<field reporter:label='Destination Library' name='dest' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Receive Date/Time' name='dest_recv_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Reservation requiring Transit' name='reservation' reporter:datatype='link'></field> 
+			<field reporter:label='Transit ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Is Persistent?' name='persistant_transfer' reporter:datatype='bool'></field> 
+			<field reporter:label='Previous Stop' name='prev_hop' reporter:datatype='link'></field> 
+			<field reporter:label='Sending Library' name='source' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Send Date/Time' name='source_send_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transited Copy' name='target_copy' reporter:datatype='link'></field> 
+			<field reporter:label='Base Transit' name='transit_copy' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='transit_copy' reltype='might_have' class='atc' key='id' map=''></link> 
+			<link field='target_copy' reltype='has_a' class='brsrc' key='id' map=''></link> 
+			<link field='source' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='copy_status' reltype='has_a' class='ccs' key='id' map=''></link> 
+			<link field='dest' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='reservation' reltype='has_a' class='bresv' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='TRANSIT_COPY'> 
+                    <context field='owner' link='target_copy'></context> 
+                </create> 
+                <retrieve></retrieve> 
+                <update context_field='dest source' permission='UPDATE_TRANSIT'></update> 
+                <delete context_field='dest source' permission='DELETE_TRANSIT'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Hold Transit' oils_persist:tablename='action.hold_transit_copy' reporter:core='true' oils_obj:fieldmapper='action::hold_transit_copy' controller='open-ils.cstore open-ils.pcrud' id='ahtc'> 
+		<fields oils_persist:sequence='action.transit_copy_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Copy Status at Transit' name='copy_status' reporter:datatype='link'></field> 
+			<field reporter:label='Destination Library' name='dest' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Receive Date/Time' name='dest_recv_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Hold requiring Transit' name='hold' reporter:datatype='link'></field> 
+			<field reporter:label='Transit ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Is Persistent?' name='persistant_transfer' reporter:datatype='bool'></field> 
+			<field reporter:label='Previous Stop' name='prev_hop' reporter:datatype='link'></field> 
+			<field reporter:label='Sending Library' name='source' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Send Date/Time' name='source_send_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transited Copy' name='target_copy' reporter:datatype='link'></field> 
+			<field reporter:label='Base Transit' name='transit_copy' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='transit_copy' reltype='might_have' class='atc' key='id' map=''></link> 
+			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='source' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='copy_status' reltype='has_a' class='ccs' key='id' map=''></link> 
+			<link field='dest' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='hold' reltype='has_a' class='ahr' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='owner' permission='TRANSIT_COPY'> 
+                    <context field='circ_lib' link='target_copy'></context> 
+                </create> 
+                <retrieve></retrieve> 
+                <update context_field='dest source' permission='UPDATE_TRANSIT'></update> 
+                <delete context_field='dest source' permission='DELETE_TRANSIT'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='money::billing' reporter:label='Billing Line Item' controller='open-ils.cstore' oils_persist:tablename='money.billing' id='mb'> 
+		<fields oils_persist:sequence='money.billing_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Billing Timestamp' name='billing_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Legacy Billing Type' name='billing_type' reporter:datatype='text'></field> 
+			<field reporter:label='Billing ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Void Timestamp' name='void_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Voided?' name='voided' reporter:datatype='bool'></field> 
+			<field reporter:label='Voiding Staff Member' name='voider' reporter:datatype='link'></field> 
+			<field reporter:label='Transaction' name='xact' reporter:datatype='link'></field> 
+			<field reporter:label='Type' name='btype' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='xact' reltype='has_a' class='mbt' key='id' map=''></link> 
+			<link field='voider' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='btype' reltype='has_a' class='cbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='permission::usr_grp_map' reporter:label='User Group Map' controller='open-ils.cstore' oils_persist:tablename='permission.usr_grp_map' id='pugm'> 
+		<fields oils_persist:sequence='permission.usr_grp_map_id_seq' oils_persist:primary='id'> 
+			<field name='grp'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='usr'></field> 
+		</fields> 
+		<links> 
+			<link field='grp' reltype='has_a' class='pgt' key='id' map=''></link> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class reporter:label='i18n Core' oils_persist:tablename='config.i18n_core' oils_obj:fieldmapper='config::i18n_core' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='i18n'> 
+		<fields oils_persist:sequence='config.i18n_core_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='fq_field' reporter:datatype='text'></field> 
+			<field name='identity_value' reporter:datatype='text'></field> 
+			<field name='translation' reporter:datatype='text'></field> 
+			<field name='string' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='translation' reltype='has_a' class='i18n_l' key='code' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_TRANSLATION'></create> 
+                <retrieve global_required='true' permission='CREATE_TRANSLATION UPDATE_TRANSLATION DELETE_TRANSLATION'></retrieve> 
+                <update global_required='true' permission='UPDATE_TRANSLATION'></update> 
+                <delete global_required='true' permission='DELETE_TRANSLATION'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='IDL Field Doc' oils_persist:tablename='config.idl_field_doc' oils_obj:fieldmapper='config::idl_field_doc' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='fdoc'> 
+		<fields oils_persist:sequence='config.idl_field_doc_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='fm_class' reporter:datatype='text'></field> 
+			<field name='field' reporter:datatype='text'></field> 
+			<field name='owner' reporter:datatype='org_unit'></field> 
+			<field name='string' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='owner' permission='ADMIN_FIELD_DOC'></create> 
+                <retrieve></retrieve> 
+                <update context_field='owner' permission='ADMIN_FIELD_DOC'></update> 
+                <delete context_field='owner' permission='ADMIN_FIELD_DOC'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Locale' oils_persist:tablename='config.i18n_locale' oils_obj:fieldmapper='config::i18n_locale' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='i18n_l'> 
+		<fields oils_persist:primary='code'> 
+			<field name='code' reporter:datatype='id'></field> 
+			<field name='marc_code' reporter:datatype='text'></field> 
+			<field name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='CREATE_LOCALE'></create> 
+                <retrieve global_required='true' permission='CREATE_LOCALE UPDATE_LOCALE DELETE_LOCALE'></retrieve> 
+                <update global_required='true' permission='UPDATE_LOCALE'></update> 
+                <delete global_required='true' permission='DELETE_LOCALE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class reporter:label='Billing Type' oils_persist:tablename='config.billing_type' oils_obj:fieldmapper='config::billing_type' controller='open-ils.cstore open-ils.pcrud' id='cbt' oils_persist:restrict_primary='100'> 
+		<fields oils_persist:sequence='config.billing_type_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Org Unit' name='owner' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Default Price' name='default_price' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='owner' permission='CREATE_BILLING_TYPE'></create> 
+                <retrieve context_field='owner' permission='VIEW_BILLING_TYPE CREATE_BILLING_TYPE UPDATE_BILLING_TYPE DELETE_BILLING_TYPE'></retrieve> 
+                <update context_field='owner' permission='UPDATE_BILLING_TYPE'></update> 
+                <delete context_field='owner' permission='DELETE_BILLING_TYPE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='acq::currency_type' reporter:label='Currency Type' controller='open-ils.cstore open-ils.reporter-store open-ils.pcrud' oils_persist:tablename='acq.currency_type' id='acqct'> 
+		<fields oils_persist:primary='code'> 
+			<field reporter:label='Currency Code' name='code' reporter:datatype='text' reporter:selector='label'></field> 
+			<field reporter:label='Currency Label' name='label' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		</fields> 
+		<links></links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create global_required='true' permission='ADMIN_CURRENCY_TYPE'></create> 
+                <retrieve></retrieve> 
+                <update global_required='true' permission='ADMIN_CURRENCY_TYPE'></update> 
+                <delete global_required='true' permission='ADMIN_CURRENCY_TYPE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::exchange_rate' reporter:label='Exchange Rate' controller='open-ils.cstore open-ils.pcrud open-ils.reporter-store' oils_persist:tablename='acq.exchange_rate' id='acqexr'> 
+		<fields oils_persist:sequence='acq.exchange_rate_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Exchange Rate ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='From Currency' name='from_currency' reporter:datatype='link'></field> 
+			<field reporter:label='To Currency' name='to_currency' reporter:datatype='link'></field> 
+			<field reporter:label='Ratio' name='ratio'></field> 
+		</fields> 
+		<links> 
+			<link field='from_currency' reltype='has_a' class='acqct' key='code' map=''></link> 
+			<link field='to_currency' reltype='has_a' class='acqct' key='code' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_CURRENCY_TYPE'></create> 
+				<retrieve></retrieve> 
+				<update global_required='true' permission='ADMIN_CURRENCY_TYPE'></update> 
+				<delete global_required='true' permission='ADMIN_CURRENCY_TYPE'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::provider' reporter:label='Provider' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.provider' id='acqpro'> 
+		<fields oils_persist:sequence='acq.provider_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Provider ID' name='id' reporter:datatype='id' reporter:selector='code'></field> 
+			<field reporter:label='Provider Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Owner' name='owner' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Currency' name='currency_type' reporter:datatype='link' oils_persist:primitive='string'></field> 
+			<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+			<field reporter:label='Holdings Tag' name='holding_tag' reporter:datatype='text'></field> 
+			<field reporter:label='Addresses' name='addresses' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='currency_type' reltype='has_a' class='acqct' key='code' map=''></link> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+            <link field='addresses' reltype='has_many' class='acqpa' key='provider' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='owner' permission='ADMIN_PROVIDER'></create> 
+                <retrieve context_field='owner' permission='ADMIN_PROVIDER MANAGE_PROVIDER VIEW_PROVIDER'></retrieve> 
+                <update context_field='owner' permission='ADMIN_PROVIDER'></update> 
+                <delete context_field='owner' permission='ADMIN_PROVIDER'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::provider_address' reporter:label='Provider Address' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.provider_address' id='acqpa'> 
+		<fields oils_persist:sequence='acq.provider_address_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Address Type' name='address_type' reporter:datatype='text'></field> 
+			<field reporter:label='City' name='city' reporter:datatype='text'></field> 
+			<field reporter:label='Country' name='country' reporter:datatype='text'></field> 
+			<field reporter:label='County' name='county' reporter:datatype='text'></field> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Provider' name='provider' reporter:datatype='link'></field> 
+			<field reporter:label='Post Code' name='post_code' reporter:datatype='text'></field> 
+			<field reporter:label='State' name='state' reporter:datatype='text'></field> 
+			<field reporter:label='Street 1' name='street1' reporter:datatype='text'></field> 
+			<field reporter:label='Street 2' name='street2' reporter:datatype='text'></field> 
+			<field reporter:label='Is Valid?' name='valid' reporter:datatype='bool'></field> 
+		</fields> 
+		<links> 
+			<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='ADMIN_PROVIDER'> 
+                    <context field='owner' link='provider'></context> 
+                </create> 
+                <retrieve permission='ADMIN_PROVIDER'> 
+                    <context field='owner' link='provider'></context> 
+                </retrieve> 
+                <update permission='ADMIN_PROVIDER'> 
+                    <context field='owner' link='provider'></context> 
+                </update> 
+                <delete permission='ADMIN_PROVIDER'> 
+                    <context field='owner' link='provider'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::provider_contact' reporter:label='Provider Contact' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.provider_contact' id='acqpc'> 
+		<fields oils_persist:sequence='acq.provider_contact_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Provider' name='provider' reporter:datatype='link'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Role' name='role' reporter:datatype='text'></field> 
+			<field reporter:label='Email' name='email' reporter:datatype='text'></field> 
+			<field reporter:label='Phone' name='phone' reporter:datatype='text'></field> 
+        </fields> 
+		<links> 
+			<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='ADMIN_PROVIDER'> 
+                    <context field='owner' link='provider'></context> 
+                </create> 
+                <retrieve permission='ADMIN_PROVIDER'> 
+                    <context field='owner' link='provider'></context> 
+                </retrieve> 
+                <update permission='ADMIN_PROVIDER'> 
+                    <context field='owner' link='provider'></context> 
+                </update> 
+                <delete permission='ADMIN_PROVIDER'> 
+                    <context field='owner' link='provider'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+    </class> 
+	<class oils_obj:fieldmapper='acq::provider_contact_address' reporter:label='Provider Contact Address' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.provider_contact_address' id='acqpca'> 
+		<fields oils_persist:sequence='acq.provider_contact_address_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Type' name='address_type' reporter:datatype='text'></field> 
+			<field reporter:label='City' name='city' reporter:datatype='text'></field> 
+			<field reporter:label='Country' name='country' reporter:datatype='text'></field> 
+			<field reporter:label='County' name='county' reporter:datatype='text'></field> 
+			<field reporter:label='Address ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Postal Code' name='post_code' reporter:datatype='text'></field> 
+			<field reporter:label='State' name='state' reporter:datatype='text'></field> 
+			<field reporter:label='Street (1)' name='street1' reporter:datatype='text'></field> 
+			<field reporter:label='Street (2)' name='street2' reporter:datatype='text'></field> 
+			<field reporter:label='Contact' name='contact' reporter:datatype='link'></field> 
+			<field reporter:label='Valid Address?' name='valid' reporter:datatype='bool'></field> 
+		</fields> 
+		<links> 
+			<link field='contact' reltype='has_a' class='acqpc' key='id' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create permission='ADMIN_PROVIDER'> 
+                    <context jump='provider' field='owner' link='contact'></context> 
+                </create> 
+                <retrieve permission='ADMIN_PROVIDER'> 
+                    <context jump='provider' field='owner' link='contact'></context> 
+                </retrieve> 
+                <update permission='ADMIN_PROVIDER'> 
+                    <context jump='provider' field='owner' link='contact'></context> 
+                </update> 
+                <delete permission='ADMIN_PROVIDER'> 
+                    <context jump='provider' field='owner' link='contact'></context> 
+                </delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::fiscal_calendar' reporter:label='Fiscal Calendar' controller='open-ils.cstore' oils_persist:tablename='acq.fiscal_calendar' id='acqfc'> 
+		<fields oils_persist:sequence='acq.fiscal_calendar_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Fiscal Calendar ID' name='id' reporter:datatype='id' reporter:selector='id'></field> 
+			<field reporter:label='Fiscal Calendar Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Years' name='years' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+            <link field='years' reltype='has_many' class='acqfy' key='calendar' map=''></link> 
+		</links> 
+		
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_ACQ_FISCAL_YEAR'></create> 
+				<retrieve global_required='true' permission='ADMIN_ACQ_FISCAL_YEAR'></retrieve> 
+				<update global_required='true' permission='ADMIN_ACQ_FISCAL_YEAR'></update> 
+				<delete global_required='true' permission='ADMIN_ACQ_FISCAL_YEAR'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::fiscal_year' reporter:label='Fiscal Year' controller='open-ils.cstore' oils_persist:tablename='acq.fiscal_year' id='acqfy'> 
+		<fields oils_persist:sequence='acq.fiscal_year_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Fiscal Year ID' name='id' reporter:datatype='id' reporter:selector='id'></field> 
+			<field reporter:label='Calendar' name='calendar' reporter:datatype='link'></field> 
+			<field reporter:label='Fiscal Year' name='year' reporter:datatype='int'></field> 
+			<field reporter:label='Year Begin' name='year_begin' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Year End' name='year_end' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='calendar' reltype='has_a' class='acqfc' key='id' map=''></link> 
+		</links> 
+		
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create global_required='true' permission='ADMIN_ACQ_FISCAL_YEAR'></create> 
+				<retrieve global_required='true' permission='ADMIN_ACQ_FISCAL_YEAR'></retrieve> 
+				<update global_required='true' permission='ADMIN_ACQ_FISCAL_YEAR'></update> 
+				<delete global_required='true' permission='ADMIN_ACQ_FISCAL_YEAR'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::funding_source' reporter:label='Funding Source' controller='open-ils.cstore open-ils.reporter-store open-ils.pcrud' oils_persist:tablename='acq.funding_source' id='acqfs'> 
+		<fields oils_persist:sequence='acq.funding_source_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Funding Source ID' name='id' reporter:datatype='id' reporter:selector='code'></field> 
+			<field reporter:label='Funding Source Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Owner' name='owner' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Currency' name='currency_type' reporter:datatype='link' oils_persist:primitive='string'></field> 
+			<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+			<field name='summary' oils_persist:virtual='true'></field> 
+			<field reporter:label='Allocations' name='allocations' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Credits' name='credits' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='currency_type' reltype='has_a' class='acqct' key='code' map=''></link> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+            <link field='allocations' reltype='has_many' class='acqfa' key='funding_source' map=''></link> 
+            <link field='credits' reltype='has_many' class='acqfscred' key='funding_source' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='owner' permission='ADMIN_FUNDING_SOURCE'></create> 
+                <retrieve context_field='owner' permission='ADMIN_FUNDING_SOURCE MANAGE_FUNDING_SOURCE VIEW_FUNDING_SOURCE'></retrieve> 
+                <update context_field='owner' permission='ADMIN_FUNDING_SOURCE'></update> 
+                <delete context_field='owner' permission='ADMIN_FUNDING_SOURCE'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::funding_source_credit' reporter:label='Credit to Funding Source' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.funding_source_credit' id='acqfscred'> 
+		<fields oils_persist:sequence='acq.funding_source_credit_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Credit ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Funding Source ID' name='funding_source' reporter:datatype='link'></field> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='funding_source' reltype='has_a' class='acqfs' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::fund_debit' reporter:label='Debit From Fund' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.fund_debit' id='acqfdeb'> 
+		<fields oils_persist:sequence='acq.fund_debit_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Debit ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field> 
+			<field reporter:label='Origin Amount' name='origin_amount' reporter:datatype='money'></field> 
+			<field reporter:label='Origin Currency' name='origin_currency_type' reporter:datatype='link'></field> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Encumbrance' name='encumbrance' reporter:datatype='text'></field> 
+			<field reporter:label='Debit Type' name='debit_type' reporter:datatype='text'></field> 
+			<field reporter:label='Create Time' name='create_time' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+			<link field='origin_currency_type' reltype='has_a' class='acqct' key='code' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::fund' reporter:label='Fund' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.fund' id='acqf'> 
+		<fields oils_persist:sequence='acq.fund_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Fund ID' name='id' reporter:datatype='id' reporter:selector='code'></field> 
+			<field reporter:label='Org Unit' name='org' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Year' name='year' reporter:datatype='int'></field> 
+			<field reporter:label='Currency Type' name='currency_type' reporter:datatype='link'></field> 
+			<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+			<field name='summary' oils_persist:virtual='true'></field> 
+			<field reporter:label='Allocations' name='allocations' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Debits' name='debits' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Tags' name='tags' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='org' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='currency_type' reltype='has_a' class='acqct' key='code' map=''></link> 
+            <link field='allocations' reltype='has_many' class='acqfa' key='fund' map=''></link> 
+            <link field='debits' reltype='has_many' class='acqfdeb' key='fund' map=''></link> 
+            <link field='tags' reltype='has_many' class='acqftm' key='fund' map=''></link> 
+		</links> 
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+            <actions> 
+                <create context_field='org' permission='ADMIN_ACQ_FUND'></create> 
+                <retrieve context_field='org' permission='ADMIN_ACQ_FUND VIEW_FUND MANAGE_FUND'></retrieve> 
+                <update context_field='org' permission='ADMIN_ACQ_FUND'></update> 
+                <delete context_field='org' permission='ADMIN_ACQ_FUND'></delete> 
+            </actions> 
+        </permacrud> 
+	</class> 
+ 
+	<class reporter:label='Fund Allocation Total' oils_persist:tablename='acq.fund_allocation_total' oils_obj:fieldmapper='acq::fund_allocation_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfat' oils_persist:readonly='true'> 
+		<fields oils_persist:primary='fund'> 
+			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field> 
+			<field reporter:label='Total Allocation Amount' name='amount' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Total Debit from Fund' oils_persist:tablename='acq.fund_debit_total' oils_obj:fieldmapper='acq::fund_debit_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfdt' oils_persist:readonly='true'> 
+		<fields oils_persist:primary='fund'> 
+			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field> 
+			<field reporter:label='Total Debit Amount' name='amount' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Total Fund Encumbrance' oils_persist:tablename='acq.fund_encumbrance_total' oils_obj:fieldmapper='acq::fund_encumbrance_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfet' oils_persist:readonly='true'> 
+		<fields oils_persist:primary='fund'> 
+			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field> 
+			<field reporter:label='Total Encumbrance Amount' name='amount' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Total Spent from Fund' oils_persist:tablename='acq.fund_spent_total' oils_obj:fieldmapper='acq::fund_spent_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfst' oils_persist:readonly='true'> 
+		<fields oils_persist:primary='fund'> 
+			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field> 
+			<field reporter:label='Total Spent Amount' name='amount' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Fund Combined Balance' oils_persist:tablename='acq.fund_combined_balance' oils_obj:fieldmapper='acq::fund_combined_balance' controller='open-ils.cstore open-ils.reporter-store' id='acqfcb' oils_persist:readonly='true'> 
+		<fields oils_persist:primary='fund'> 
+			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field> 
+			<field reporter:label='Balance after Spent and Encumbered' name='amount' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Total Credit to Funding Source' oils_persist:tablename='acq.funding_source_credit_total' oils_obj:fieldmapper='acq::funding_source_credit_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfsrcct' oils_persist:readonly='true'> 
+		<fields oils_persist:primary='funding_source'> 
+			<field reporter:label='Funding Source' name='funding_source' reporter:datatype='link'></field> 
+			<field reporter:label='Total Credits to Funding Source' name='amount' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='funding_source' reltype='has_a' class='acqfs' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Total Allocation to Funding Source' oils_persist:tablename='acq.funding_source_allocation_total' oils_obj:fieldmapper='acq::funding_source_allocation_total' controller='open-ils.cstore open-ils.reporter-store' id='acqfsrcat' oils_persist:readonly='true'> 
+		<fields oils_persist:primary='funding_source'> 
+			<field reporter:label='Funding Source' name='funding_source' reporter:datatype='link'></field> 
+			<field reporter:label='Total Allocated from Funding Source' name='amount' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='funding_source' reltype='has_a' class='acqfs' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Funding Source Balance' oils_persist:tablename='acq.funding_source_balance' oils_obj:fieldmapper='acq::funding_source_balance' controller='open-ils.cstore open-ils.reporter-store' id='acqfsrcb' oils_persist:readonly='true'> 
+		<fields oils_persist:primary='funding_source'> 
+			<field reporter:label='Funding Source' name='funding_source' reporter:datatype='link'></field> 
+			<field reporter:label='Balance Remaining' name='amount' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='funding_source' reltype='has_a' class='acqfs' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Fund Spent Balance' oils_persist:tablename='acq.fund_spent_balance' oils_obj:fieldmapper='acq::fund_spent_balance' controller='open-ils.cstore open-ils.reporter-store' id='acqfsb' oils_persist:readonly='true'> 
+		<fields oils_persist:primary='fund'> 
+			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field> 
+			<field reporter:label='Balance after Spent' name='amount' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::fund_allocation' reporter:label='Fund Allocation' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.fund_allocation' id='acqfa'> 
+		<fields oils_persist:sequence='acq.fund_allocation_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Allocation ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Fund' name='fund' reporter:datatype='link'></field> 
+			<field reporter:label='Funding Source' name='funding_source' reporter:datatype='link'></field> 
+			<field reporter:label='Amount' name='amount' reporter:datatype='money'></field> 
+			<field reporter:label='Percent' name='percent' reporter:datatype='float'></field> 
+			<field reporter:label='Allocating User' name='allocator' reporter:datatype='link'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Create Time' name='create_time' reporter:datatype='timestamp'></field> 
+		</fields> 
+		<links> 
+			<link field='allocator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+			<link field='funding_source' reltype='has_a' class='acqfs' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::picklist' reporter:label='Pick List' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.picklist' id='acqpl'> 
+		<fields oils_persist:sequence='acq.picklist_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Picklist ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field> 
+			<field reporter:label='Org Unit' name='org_unit' reporter:datatype='link'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Creation Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Edit Time' name='edit_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Entries' name='entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Entry Count' name='entry_count' oils_persist:virtual='true'></field> 
+			<field reporter:label='Creator' name='creator' reporter:datatype='link'></field> 
+			<field reporter:label='Editor' name='editor' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='org_unit' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='entries' reltype='has_many' class='jub' key='picklist' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::purchase_order' reporter:label='Purchase Order' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.purchase_order' id='acqpo'> 
+		<fields oils_persist:sequence='acq.purchase_order_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Purchase Order ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Owner' name='owner' reporter:datatype='link'></field> 
+			<field reporter:label='Creation Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Edit Time' name='edit_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Provider' name='provider' reporter:datatype='link'></field> 
+			<field reporter:label='State' name='state' reporter:datatype='text'></field> 
+			<field reporter:label='Ordering Agency' name='ordering_agency' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Creator' name='creator' reporter:datatype='link'></field> 
+			<field reporter:label='Editor' name='editor' reporter:datatype='link'></field> 
+			<field reporter:label='Order Date' name='order_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Line Items' name='lineitems' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Line Item Count' name='lineitem_count' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Amount Encumbered' name='amount_encumbered' reporter:datatype='float' oils_persist:virtual='true'></field> 
+			<field reporter:label='Amount Spent' name='amount_spent' reporter:datatype='float' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='default_fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+			<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link> 
+			<link field='lineitems' reltype='has_many' class='jub' key='purchase_order' map=''></link> 
+			<link field='ordering_agency' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create context_field='ordering_agency' permission='CREATE_PURCHASE_ORDER'></create> 
+				<retrieve context_field='ordering_agency' permission='CREATE_PURCHASE_ORDER VIEW_PURCHASE_ORDER'></retrieve> 
+				<update context_field='ordering_agency' permission='CREATE_PURCHASE_ORDER'></update> 
+				<delete context_field='ordering_agency' permission='CREATE_PURCHASE_ORDER'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::po_note' reporter:label='PO Note' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.po_note' id='acqpon'> 
+		<fields oils_persist:sequence='acq.po_note_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='PO Note ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Purchase Order' name='purchase_order' reporter:datatype='link'></field> 
+			<field reporter:label='Creator' name='creator' reporter:datatype='link'></field> 
+			<field reporter:label='Creation Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Edit Time' name='edit_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Editor' name='editor' reporter:datatype='link'></field> 
+			<field reporter:label='Vote Value' name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='purchase_order' reltype='has_a' class='acqpo' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::lineitem' reporter:label='Line Item' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem' id='jub'> 
+		<fields oils_persist:sequence='acq.lineitem_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Lineitem ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Selecting User' name='selector' reporter:datatype='link'></field> 
+			<field reporter:label='Picklist' name='picklist' reporter:datatype='link'></field> 
+			<field reporter:label='Purchase Order' name='purchase_order' reporter:datatype='link'></field> 
+			<field reporter:label='Provider' name='provider' reporter:datatype='link'></field> 
+			<field reporter:label='Creation Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Edit Time' name='edit_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='MARC' name='marc' reporter:datatype='text'></field> 
+			<field reporter:label='Evergreen Bib ID' name='eg_bib_id' reporter:datatype='link'></field> 
+			<field reporter:label='Source Label' name='source_label' reporter:datatype='text'></field> 
+			<field reporter:label='Expected Receive Date' name='expected_recv_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='State' name='state' reporter:datatype='text'></field> 
+			<field reporter:label='Creator' name='creator' reporter:datatype='link'></field> 
+			<field reporter:label='Editor' name='editor' reporter:datatype='link'></field> 
+			<field reporter:label='Item Count' name='item_count' reporter:datatype='int' oils_persist:virtual='true'></field> 
+			<field reporter:label='Descriptive Attributes' name='attributes' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Line Item Details' name='lineitem_details' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Line Item Notes' name='lineitem_notes' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='selector' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link> 
+			<link field='purchase_order' reltype='has_a' class='acqpo' key='id' map=''></link> 
+			<link field='picklist' reltype='has_a' class='acqpl' key='id' map=''></link> 
+			<link field='eg_bib_id' reltype='has_a' class='bre' key='id' map=''></link> 
+			<link field='attributes' reltype='has_many' class='acqlia' key='lineitem' map=''></link> 
+			<link field='lineitem_details' reltype='has_many' class='acqlid' key='lineitem' map=''></link> 
+			<link field='lineitem_notes' reltype='has_many' class='acqlin' key='lineitem' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::lineitem_note' reporter:label='Line Item Note' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_note' id='acqlin'> 
+		<fields oils_persist:sequence='acq.lineitem_note_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='PO Line Item Note ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Line Item' name='lineitem' reporter:datatype='link'></field> 
+			<field reporter:label='Creator' name='creator' reporter:datatype='link'></field> 
+			<field reporter:label='Creation Time' name='create_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Edit Time' name='edit_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Editor' name='editor' reporter:datatype='link'></field> 
+			<field reporter:label='Vote Value' name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='editor' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='lineitem' reltype='has_a' class='jub' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::lineitem_attr' reporter:label='Line Item Attribute' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_attr' id='acqlia'> 
+		<fields oils_persist:sequence='acq.lineitem_attr_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Attribute Value ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Lineitem' name='lineitem' reporter:datatype='link'></field> 
+			<field reporter:label='Type' name='attr_type' reporter:datatype='text'></field> 
+			<field reporter:label='Name' name='attr_name' reporter:datatype='text'></field> 
+			<field reporter:label='Value' name='attr_value' reporter:datatype='text'></field> 
+			<field reporter:label='Definition' name='definition' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='lineitem' reltype='has_a' class='jub' key='id' map=''></link> 
+			<link field='definition' reltype='has_a' class='acqliad' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::lineitem_detail' reporter:label='Line Item Detail' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_detail' id='acqlid'> 
+		<fields oils_persist:sequence='acq.lineitem_detail_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Item Detail ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='PO Line Item' name='lineitem' reporter:datatype='link'></field> 
+			<field reporter:label='Evergreen Copy ID' name='eg_copy_id' reporter:datatype='link'></field> 
+			<field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field> 
+			<field reporter:label='Call Number Label' name='cn_label' reporter:datatype='text'></field> 
+			<field reporter:label='Actual Receive Date' name='recv_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Fund' name='fund' reporter:datatype='link'></field> 
+			<field reporter:label='Fund Debit' name='fund_debit' reporter:datatype='link'></field> 
+			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Shelving Location' name='location' reporter:datatype='link'></field> 
+			<field reporter:label='Circ Modifier' name='circ_modifier' reporter:datatype='link'></field> 
+			<field reporter:label='Note' name='note' reporter:datatype='text'></field> 
+			<field reporter:label='Collection Code' name='collection_code' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='lineitem' reltype='has_a' class='jub' key='id' map=''></link> 
+			<link field='eg_copy_id' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+			<link field='fund_debit' reltype='has_a' class='acqfdeb' key='id' map=''></link> 
+			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='location' reltype='has_a' class='acpl' key='id' map=''></link> 
+			<link field='circ_modifier' reltype='has_a' class='ccm' key='code' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::lineitem_attr_definition' reporter:label='Line Item Attribute Definition' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_attr_definition' id='acqliad'> 
+		<fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::lineitem_marc_attr_definition' reporter:label='Line Item MARC Attribute Definition' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_marc_attr_definition' id='acqlimad'> 
+		<fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='XPath' name='xpath' reporter:datatype='text'></field> 
+			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::lineitem_generated_attr_definition' reporter:label='Line Item Generated Attribute Definition' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_generated_attr_definition' id='acqligad'> 
+		<fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='XPath' name='xpath' reporter:datatype='text'></field> 
+			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+	</class> 
+	<class oils_obj:fieldmapper='acq::lineitem_usr_attr_definition' reporter:label='Line Item User Attribute Definition' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_usr_attr_definition' id='acqliuad'> 
+		<fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='User' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field> 
+		</fields> 
+		<links> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='acq::lineitem_provider_attr_definition' reporter:label='Line Item Provider Attribute Definition' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.lineitem_provider_attr_definition' id='acqlipad'> 
+	    <fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'> 
+		<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field> 
+		<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+		<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+		<field reporter:label='XPath' name='xpath' reporter:datatype='text'></field> 
+		<field reporter:label='Provider' name='provider' reporter:datatype='link'></field> 
+		<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field> 
+        <field reporter:label='Remove' name='remove' reporter:datatype='text'></field> 
+ 
+	    </fields> 
+	    <links> 
+		<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link> 
+	    </links> 
+            <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+                <actions> 
+                    <create permission='ADMIN_PROVIDER'> 
+                        <context field='owner' link='provider'></context> 
+                    </create> 
+                    <retrieve permission='ADMIN_PROVIDER'> 
+                        <context field='owner' link='provider'></context> 
+                    </retrieve> 
+                    <update permission='ADMIN_PROVIDER'> 
+                        <context field='owner' link='provider'></context> 
+                    </update> 
+                    <delete permission='ADMIN_PROVIDER'> 
+                        <context field='owner' link='provider'></context> 
+                    </delete> 
+                </actions> 
+            </permacrud> 
+	</class> 
         
-	<class oils_obj:fieldmapper='acq::provider_holding_subfield_map' reporter:label='Provider Holding Subfield Map' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.provider_holding_subfield_map' id='acqphsm'>
-	    <fields oils_persist:sequence='acq.provider_holding_subfield_map_id_seq' oils_persist:primary='id'>
-		<field reporter:label='ID' name='id' reporter:datatype='id'></field>
-		<field reporter:label='Provider' name='provider' reporter:datatype='link'></field>
-		<field reporter:label='Name' name='name' reporter:datatype='text'></field>
-		<field reporter:label='Subfield' name='subfield' reporter:datatype='text'></field>
-	    </fields>
-	    <links>
-		<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link>
-	    </links>
-            <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-                <actions>
-                    <create permission='ADMIN_PROVIDER'>
-                        <context field='owner' link='provider'></context>
-                    </create>
-                    <retrieve permission='ADMIN_PROVIDER'>
-                        <context field='owner' link='provider'></context>
-                    </retrieve>
-                    <update permission='ADMIN_PROVIDER'>
-                        <context field='owner' link='provider'></context>
-                    </update>
-                    <delete permission='ADMIN_PROVIDER'>
-                        <context field='owner' link='provider'></context>
-                    </delete>
-                </actions>
-            </permacrud>
-	</class>
+	<class oils_obj:fieldmapper='acq::provider_holding_subfield_map' reporter:label='Provider Holding Subfield Map' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.provider_holding_subfield_map' id='acqphsm'> 
+	    <fields oils_persist:sequence='acq.provider_holding_subfield_map_id_seq' oils_persist:primary='id'> 
+		<field reporter:label='ID' name='id' reporter:datatype='id'></field> 
+		<field reporter:label='Provider' name='provider' reporter:datatype='link'></field> 
+		<field reporter:label='Name' name='name' reporter:datatype='text'></field> 
+		<field reporter:label='Subfield' name='subfield' reporter:datatype='text'></field> 
+	    </fields> 
+	    <links> 
+		<link field='provider' reltype='has_a' class='acqpro' key='id' map=''></link> 
+	    </links> 
+            <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+                <actions> 
+                    <create permission='ADMIN_PROVIDER'> 
+                        <context field='owner' link='provider'></context> 
+                    </create> 
+                    <retrieve permission='ADMIN_PROVIDER'> 
+                        <context field='owner' link='provider'></context> 
+                    </retrieve> 
+                    <update permission='ADMIN_PROVIDER'> 
+                        <context field='owner' link='provider'></context> 
+                    </update> 
+                    <delete permission='ADMIN_PROVIDER'> 
+                        <context field='owner' link='provider'></context> 
+                    </delete> 
+                </actions> 
+            </permacrud> 
+	</class> 
         
-	<class oils_obj:fieldmapper='acq::lineitem_local_attr_definition' reporter:label='Line Item Local Attribute Definition' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_local_attr_definition' id='acqlilad'>
-	    <fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Code' name='code' reporter:datatype='text'></field>
-			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field>
-			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field>
-		</fields>
-		<links></links>
-	</class>
-
-	<class oils_obj:fieldmapper='reporter::output_folder' reporter:label='Output Folder' controller='open-ils.reporter-store' oils_persist:tablename='reporter.output_folder' id='rof'>
-		<fields oils_persist:sequence='reporter.output_folder_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='parent' reporter:datatype='link'></field>
-			<field name='owner' reporter:datatype='link'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='shared' reporter:datatype='bool'></field>
-			<field name='share_with' reporter:datatype='link'></field>
-			<field name='children' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='outputs' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='parent' reltype='has_a' class='rof' key='id' map=''></link>
-			<link field='children' reltype='has_many' class='rof' key='parent' map=''></link>
-			<link field='share_with' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='outputs' reltype='has_many' class='rs' key='folder' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::template_folder' reporter:label='Template Folder' controller='open-ils.reporter-store' oils_persist:tablename='reporter.template_folder' id='rtf'>
-		<fields oils_persist:sequence='reporter.template_folder_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='parent' reporter:datatype='link'></field>
-			<field name='owner' reporter:datatype='link'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='shared' reporter:datatype='bool'></field>
-			<field name='share_with' reporter:datatype='link'></field>
-			<field name='children' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='templates' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='parent' reltype='has_a' class='rtf' key='id' map=''></link>
-			<link field='children' reltype='has_many' class='rtf' key='parent' map=''></link>
-			<link field='share_with' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='templates' reltype='has_many' class='rt' key='folder' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::report_folder' reporter:label='Report Folder' controller='open-ils.reporter-store' oils_persist:tablename='reporter.report_folder' id='rrf'>
-		<fields oils_persist:sequence='reporter.report_folder_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='parent' reporter:datatype='link'></field>
-			<field name='owner' reporter:datatype='link'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='shared' reporter:datatype='bool'></field>
-			<field name='share_with' reporter:datatype='link'></field>
-			<field name='children' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field name='reports' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='parent' reltype='has_a' class='rrf' key='id' map=''></link>
-			<link field='children' reltype='has_many' class='rrf' key='parent' map=''></link>
-			<link field='share_with' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='reports' reltype='has_many' class='rr' key='folder' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::template' reporter:label='Template' controller='open-ils.reporter-store' oils_persist:tablename='reporter.template' id='rt'>
-		<fields oils_persist:sequence='reporter.template_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='owner' reporter:datatype='link'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='data' reporter:datatype='text'></field>
-			<field name='folder' reporter:datatype='link'></field>
-			<field name='description' reporter:datatype='text'></field>
-			<field name='reports' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='folder' reltype='has_a' class='rtf' key='id' map=''></link>
-			<link field='reports' reltype='has_many' class='rr' key='template' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::report' reporter:label='Report' controller='open-ils.reporter-store' oils_persist:tablename='reporter.report' id='rr'>
-		<fields oils_persist:sequence='reporter.report_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='owner' reporter:datatype='link'></field>
-			<field name='create_time' reporter:datatype='timestamp'></field>
-			<field name='template' reporter:datatype='link'></field>
-			<field name='data' reporter:datatype='link'></field>
-			<field name='folder' reporter:datatype='link'></field>
-			<field name='recur' reporter:datatype='bool'></field>
-			<field name='recurance' reporter:datatype='interval'></field>
-			<field name='name' reporter:datatype='text'></field>
-			<field name='description' reporter:datatype='text'></field>
-			<field name='runs' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='template' reltype='has_a' class='rt' key='id' map=''></link>
-			<link field='folder' reltype='has_a' class='rrf' key='id' map=''></link>
-			<link field='runs' reltype='has_many' class='rs' key='report' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::schedule' reporter:label='Schedule' controller='open-ils.reporter-store' oils_persist:tablename='reporter.schedule' id='rs'>
-		<fields oils_persist:sequence='reporter.schedule_id_seq' oils_persist:primary='id'>
-			<field name='id' reporter:datatype='id'></field>
-			<field name='runner' reporter:datatype='link'></field>
-			<field name='start_time' reporter:datatype='timestamp'></field>
-			<field name='complete_time' reporter:datatype='timestamp'></field>
-			<field name='run_time' reporter:datatype='timestamp'></field>
-			<field name='email' reporter:datatype='text'></field>
-			<field name='excel_format' reporter:datatype='bool'></field>
-			<field name='csv_format' reporter:datatype='bool'></field>
-			<field name='html_format' reporter:datatype='bool'></field>
-			<field name='error_code' reporter:datatype='int'></field>
-			<field name='error_text' reporter:datatype='text'></field>
-			<field name='report' reporter:datatype='link'></field>
-			<field name='folder' reporter:datatype='link'></field>
-			<field name='chart_pie' reporter:datatype='bool'></field>
-			<field name='chart_bar' reporter:datatype='bool'></field>
-			<field name='chart_line' reporter:datatype='bool'></field>
-		</fields>
-		<links>
-			<link field='runner' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='report' reltype='has_a' class='rr' key='id' map=''></link>
-			<link field='folder' reltype='has_a' class='rof' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::materialized_simple_record' reporter:label='Fast Simple Record Extracts' controller='open-ils.reporter-store' oils_persist:tablename='reporter.materialized_simple_record' id='rmsr'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Fingerprint' name='fingerprint' reporter:datatype='text'></field>
-			<field reporter:label='Overall Record Quality' name='quality' reporter:datatype='int'></field>
-			<field reporter:label='TCN Source' name='tcn_source' reporter:datatype='text'></field>
-			<field reporter:label='TCN Value' name='tcn_value' reporter:datatype='text'></field>
-			<field reporter:label='Title Proper (normalized)' name='title' reporter:datatype='text'></field>
-			<field reporter:label='Author (normalized)' name='author' reporter:datatype='text'></field>
-			<field reporter:label='Publisher (normalized)' name='publisher' reporter:datatype='text'></field>
-			<field reporter:label='Publication Year (normalized)' name='pubdate' reporter:datatype='int'></field>
-			<field reporter:label='ISBN' name='isbn' reporter:datatype='text'></field>
-			<field reporter:label='ISSN' name='issn' reporter:datatype='text'></field>
-			<field reporter:label='Full Bibliographic record' name='biblio_record' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='biblio_record' reltype='might_have' class='bre' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::super_simple_record' reporter:label='Simple Record Extracts' controller='open-ils.reporter-store' oils_persist:tablename='reporter.super_simple_record' id='rssr'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Fingerprint' name='fingerprint' reporter:datatype='text'></field>
-			<field reporter:label='Overall Record Quality' name='quality' reporter:datatype='int'></field>
-			<field reporter:label='TCN Source' name='tcn_source' reporter:datatype='text'></field>
-			<field reporter:label='TCN Value' name='tcn_value' reporter:datatype='text'></field>
-			<field reporter:label='Title Proper (normalized)' name='title' reporter:datatype='text'></field>
-			<field reporter:label='Author (normalized)' name='author' reporter:datatype='text'></field>
-			<field reporter:label='Publisher (normalized)' name='publisher' reporter:datatype='text'></field>
-			<field reporter:label='Publication Year (normalized)' name='pubdate' reporter:datatype='int'></field>
-			<field reporter:label='ISBN' name='isbn' reporter:datatype='text'></field>
-			<field reporter:label='ISSN' name='issn' reporter:datatype='text'></field>
-			<field reporter:label='Full Bibliographic record' name='biblio_record' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='biblio_record' reltype='might_have' class='bre' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::simple_record' reporter:label='Simple Record' controller='open-ils.reporter-store' oils_persist:tablename='reporter.simple_record' id='rsr'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Metarecord' name='metarecord' reporter:datatype='link'></field>
-			<field reporter:label='Fingerprint' name='fingerprint'></field>
-			<field reporter:label='Overall Record Quality' name='quality' reporter:datatype='int'></field>
-			<field reporter:label='TCN Source' name='tcn_source' reporter:datatype='text'></field>
-			<field reporter:label='TCN Value' name='tcn_value' reporter:datatype='text'></field>
-			<field reporter:label='Title Proper (normalized)' name='title' reporter:datatype='text'></field>
-			<field reporter:label='Uniform Title (normalized)' name='uniform_title' reporter:datatype='text'></field>
-			<field reporter:label='Author (normalized)' name='author' reporter:datatype='text'></field>
-			<field reporter:label='Publisher (normalized)' name='publisher' reporter:datatype='text'></field>
-			<field reporter:label='Publication Year (normalized)' name='pubdate' reporter:datatype='int'></field>
-			<field reporter:label='Series Title (normalized)' name='series_title' reporter:datatype='text'></field>
-			<field reporter:label='Series Statement (normalized)' name='series_statement' reporter:datatype='text'></field>
-			<field reporter:label='Summary (normalized)' name='summary' reporter:datatype='text'></field>
-			<field reporter:label='ISBN' name='isbn' reporter:datatype='text'></field>
-			<field reporter:label='ISSN' name='issn' reporter:datatype='text'></field>
-			<field reporter:label='Topic Subjects (normalized)' name='topic_subject' reporter:datatype='text'></field>
-			<field reporter:label='Geographic Subjects (normalized)' name='geographic_subject' reporter:datatype='text'></field>
-			<field reporter:label='Genres (normalized)' name='genre' reporter:datatype='text'></field>
-			<field reporter:label='Personal Name Subjects (normalized)' name='name_subject' reporter:datatype='text'></field>
-			<field reporter:label='Corporate Name Subjects (normalized)' name='corporate_subject' reporter:datatype='text'></field>
-			<field reporter:label='External URI List (normalized)' name='external_uri' reporter:datatype='text'></field>
-			<field reporter:label='Full Bibliographic record' name='biblio_record' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='metarecord' reltype='has_a' class='mmr' key='id' map=''></link>
-			<link field='biblio_record' reltype='might_have' class='bre' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::user_demographic' reporter:label='User Demographics' controller='open-ils.reporter-store open-ils.cstore' oils_persist:tablename='reporter.demographic' id='rud'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='User ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Date of Birth' name='dob' reporter:datatype='timestamp'></field>
-			<field reporter:label='General Demographic Division' name='general_division' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='id' reltype='might_have' class='au' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::circulation_type' reporter:label='Circulation Type' controller='open-ils.reporter-store open-ils.cstore' oils_persist:tablename='reporter.circ_type' id='rcirct'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Circulation ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Circulation Type' name='type' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='id' reltype='might_have' class='circ' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::hold_request_record' reporter:label='Hold Request Record' controller='open-ils.reporter-store' oils_persist:tablename='reporter.hold_request_record' id='rhrr'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Hold ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Hold Target' name='target' reporter:datatype='int'></field>
-			<field reporter:label='Hold Request Type' name='hold_type' reporter:datatype='text'></field>
-			<field reporter:label='Target Bib Record' name='bib_record' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='id' reltype='might_have' class='ahr' key='id' map=''></link>
-			<link field='bib_record' reltype='has_a' class='bre' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::xact_billing_totals' reporter:label='Transaction Billing Totals' controller='open-ils.reporter-store' oils_persist:tablename='reporter.xact_billing_totals' id='rxbt'>
-		<fields oils_persist:primary='xact'>
-			<field reporter:label='Transaction ID' name='xact' reporter:datatype='int'></field>
-			<field reporter:label='Unvoided Billing Amount' name='unvoided' reporter:datatype='int'></field>
-			<field reporter:label='Voided Billing Amount' name='voided' reporter:datatype='money'></field>
-			<field reporter:label='Total Billing Amount' name='total' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='xact' reltype='might_have' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='reporter::xact_paid_totals' reporter:label='Transaction Paid Totals' controller='open-ils.reporter-store' oils_persist:tablename='reporter.xact_paid_totals' id='rxpt'>
-		<fields oils_persist:primary='xact'>
-			<field reporter:label='Transaction ID' name='xact' reporter:datatype='int'></field>
-			<field reporter:label='Unvoided Paid Amount' name='unvoided' reporter:datatype='int'></field>
-			<field reporter:label='Voided (Returned) Paid Amount' name='voided' reporter:datatype='money'></field>
-			<field reporter:label='Total Paid Amount' name='total' reporter:datatype='money'></field>
-		</fields>
-		<links>
-			<link field='xact' reltype='might_have' class='mbt' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='extend_reporter::global_bibs_by_holding_update' reporter:label='Bib IDs by Holding Add/Delete Time (OCLC batch update)' controller='open-ils.reporter-store' oils_persist:tablename='extend_reporter.global_bibs_by_holding_update' id='ergbhu'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Bib ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Update Time' name='holding_update' reporter:datatype='timestamp'></field>
-			<field reporter:label='Update Type' name='update_type' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='id' reltype='has_a' class='bre' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='extend_reporter::full_circ_count' reporter:label='Total Circulation Count, Including Legacy' controller='open-ils.reporter-store' oils_persist:tablename='extend_reporter.full_circ_count' id='erfcc'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Copy ID' name='id' reporter:datatype='int'></field>
-			<field reporter:label='Total Circulation Count' name='circ_count' reporter:datatype='int'></field>
-		</fields>
-		<links>
-			<link field='id' reltype='has_a' class='acp' key='id' map=''></link>
-		</links>
-	</class>
-	<class oils_obj:fieldmapper='acq::distribution_formula' reporter:label='Distribution Formula' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.distribution_formula' id='acqdf'>
-		<fields oils_persist:sequence='acq.distribution_formula_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Formula ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Formula Owner' name='owner' reporter:datatype='org_unit'></field>
-			<field reporter:label='Formula Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='Skip Count' name='skip_count' reporter:datatype='int'></field>
-			<field reporter:label='Entries' name='entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='entries' reltype='has_many' class='acqdfe' key='formula' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create context_field='owner' permission='ADMIN_ACQ_DISTRIB_FORMULA'></create>
-				<retrieve context_field='owner' permission='ADMIN_ACQ_DISTRIB_FORMULA'></retrieve>
-				<update context_field='owner' permission='ADMIN_ACQ_DISTRIB_FORMULA'></update>
-				<delete context_field='owner' permission='ADMIN_ACQ_DISTRIB_FORMULA'></delete>
-			</actions>
-		</permacrud>
-	</class>
-	<class oils_obj:fieldmapper='acq::distribution_formula_entry' reporter:label='Distribution Formula Entry' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.distribution_formula_entry' id='acqdfe'>
-		<fields oils_persist:sequence='acq.distribution_formula_entry_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Entry ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Formula ID' name='formula' reporter:datatype='link'></field>
-			<field reporter:label='Position' name='position' reporter:datatype='int'></field>
-			<field reporter:label='Item Count' name='item_count' reporter:datatype='int'></field>
-			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Location' name='location' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='formula' reltype='has_a' class='acqdf' key='id' map=''></link>
-			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='location' reltype='has_a' class='acpl' key='id' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create permission='ADMIN_ACQ_DISTRIB_FORMULA'>
-					<context field='owner' link='formula'></context>
-				</create>
-				<retrieve permission='ADMIN_ACQ_DISTRIB_FORMULA'>
-					<context field='owner' link='formula'></context>
-				</retrieve>
-				<update permission='ADMIN_ACQ_DISTRIB_FORMULA'>
-					<context field='owner' link='formula'></context>
-				</update>
-				<delete permission='ADMIN_ACQ_DISTRIB_FORMULA'>
-					<context field='owner' link='formula'></context>
-				</delete>
-			</actions>
-		</permacrud>
-	</class>
-
-
+	<class oils_obj:fieldmapper='acq::lineitem_local_attr_definition' reporter:label='Line Item Local Attribute Definition' controller='open-ils.cstore open-ils.reporter-store' oils_persist:tablename='acq.lineitem_local_attr_definition' id='acqlilad'> 
+	    <fields oils_persist:sequence='acq.lineitem_attr_definition_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Definition ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Code' name='code' reporter:datatype='text'></field> 
+			<field reporter:label='Description' name='description' reporter:datatype='text' oils_persist:i18n='true'></field> 
+			<field reporter:label='Is Identifier?' name='ident' reporter:datatype='bool'></field> 
+		</fields> 
+		<links></links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='reporter::output_folder' reporter:label='Output Folder' controller='open-ils.reporter-store' oils_persist:tablename='reporter.output_folder' id='rof'> 
+		<fields oils_persist:sequence='reporter.output_folder_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='parent' reporter:datatype='link'></field> 
+			<field name='owner' reporter:datatype='link'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='shared' reporter:datatype='bool'></field> 
+			<field name='share_with' reporter:datatype='link'></field> 
+			<field name='children' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='outputs' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='parent' reltype='has_a' class='rof' key='id' map=''></link> 
+			<link field='children' reltype='has_many' class='rof' key='parent' map=''></link> 
+			<link field='share_with' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='outputs' reltype='has_many' class='rs' key='folder' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::template_folder' reporter:label='Template Folder' controller='open-ils.reporter-store' oils_persist:tablename='reporter.template_folder' id='rtf'> 
+		<fields oils_persist:sequence='reporter.template_folder_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='parent' reporter:datatype='link'></field> 
+			<field name='owner' reporter:datatype='link'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='shared' reporter:datatype='bool'></field> 
+			<field name='share_with' reporter:datatype='link'></field> 
+			<field name='children' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='templates' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='parent' reltype='has_a' class='rtf' key='id' map=''></link> 
+			<link field='children' reltype='has_many' class='rtf' key='parent' map=''></link> 
+			<link field='share_with' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='templates' reltype='has_many' class='rt' key='folder' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::report_folder' reporter:label='Report Folder' controller='open-ils.reporter-store' oils_persist:tablename='reporter.report_folder' id='rrf'> 
+		<fields oils_persist:sequence='reporter.report_folder_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='parent' reporter:datatype='link'></field> 
+			<field name='owner' reporter:datatype='link'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='shared' reporter:datatype='bool'></field> 
+			<field name='share_with' reporter:datatype='link'></field> 
+			<field name='children' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field name='reports' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='parent' reltype='has_a' class='rrf' key='id' map=''></link> 
+			<link field='children' reltype='has_many' class='rrf' key='parent' map=''></link> 
+			<link field='share_with' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='reports' reltype='has_many' class='rr' key='folder' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::template' reporter:label='Template' controller='open-ils.reporter-store' oils_persist:tablename='reporter.template' id='rt'> 
+		<fields oils_persist:sequence='reporter.template_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='owner' reporter:datatype='link'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='data' reporter:datatype='text'></field> 
+			<field name='folder' reporter:datatype='link'></field> 
+			<field name='description' reporter:datatype='text'></field> 
+			<field name='reports' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='folder' reltype='has_a' class='rtf' key='id' map=''></link> 
+			<link field='reports' reltype='has_many' class='rr' key='template' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::report' reporter:label='Report' controller='open-ils.reporter-store' oils_persist:tablename='reporter.report' id='rr'> 
+		<fields oils_persist:sequence='reporter.report_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='owner' reporter:datatype='link'></field> 
+			<field name='create_time' reporter:datatype='timestamp'></field> 
+			<field name='template' reporter:datatype='link'></field> 
+			<field name='data' reporter:datatype='link'></field> 
+			<field name='folder' reporter:datatype='link'></field> 
+			<field name='recur' reporter:datatype='bool'></field> 
+			<field name='recurance' reporter:datatype='interval'></field> 
+			<field name='name' reporter:datatype='text'></field> 
+			<field name='description' reporter:datatype='text'></field> 
+			<field name='runs' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='template' reltype='has_a' class='rt' key='id' map=''></link> 
+			<link field='folder' reltype='has_a' class='rrf' key='id' map=''></link> 
+			<link field='runs' reltype='has_many' class='rs' key='report' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::schedule' reporter:label='Schedule' controller='open-ils.reporter-store' oils_persist:tablename='reporter.schedule' id='rs'> 
+		<fields oils_persist:sequence='reporter.schedule_id_seq' oils_persist:primary='id'> 
+			<field name='id' reporter:datatype='id'></field> 
+			<field name='runner' reporter:datatype='link'></field> 
+			<field name='start_time' reporter:datatype='timestamp'></field> 
+			<field name='complete_time' reporter:datatype='timestamp'></field> 
+			<field name='run_time' reporter:datatype='timestamp'></field> 
+			<field name='email' reporter:datatype='text'></field> 
+			<field name='excel_format' reporter:datatype='bool'></field> 
+			<field name='csv_format' reporter:datatype='bool'></field> 
+			<field name='html_format' reporter:datatype='bool'></field> 
+			<field name='error_code' reporter:datatype='int'></field> 
+			<field name='error_text' reporter:datatype='text'></field> 
+			<field name='report' reporter:datatype='link'></field> 
+			<field name='folder' reporter:datatype='link'></field> 
+			<field name='chart_pie' reporter:datatype='bool'></field> 
+			<field name='chart_bar' reporter:datatype='bool'></field> 
+			<field name='chart_line' reporter:datatype='bool'></field> 
+		</fields> 
+		<links> 
+			<link field='runner' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='report' reltype='has_a' class='rr' key='id' map=''></link> 
+			<link field='folder' reltype='has_a' class='rof' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::materialized_simple_record' reporter:label='Fast Simple Record Extracts' controller='open-ils.reporter-store' oils_persist:tablename='reporter.materialized_simple_record' id='rmsr'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Fingerprint' name='fingerprint' reporter:datatype='text'></field> 
+			<field reporter:label='Overall Record Quality' name='quality' reporter:datatype='int'></field> 
+			<field reporter:label='TCN Source' name='tcn_source' reporter:datatype='text'></field> 
+			<field reporter:label='TCN Value' name='tcn_value' reporter:datatype='text'></field> 
+			<field reporter:label='Title Proper (normalized)' name='title' reporter:datatype='text'></field> 
+			<field reporter:label='Author (normalized)' name='author' reporter:datatype='text'></field> 
+			<field reporter:label='Publisher (normalized)' name='publisher' reporter:datatype='text'></field> 
+			<field reporter:label='Publication Year (normalized)' name='pubdate' reporter:datatype='int'></field> 
+			<field reporter:label='ISBN' name='isbn' reporter:datatype='text'></field> 
+			<field reporter:label='ISSN' name='issn' reporter:datatype='text'></field> 
+			<field reporter:label='Full Bibliographic record' name='biblio_record' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='biblio_record' reltype='might_have' class='bre' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::super_simple_record' reporter:label='Simple Record Extracts' controller='open-ils.reporter-store' oils_persist:tablename='reporter.super_simple_record' id='rssr'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Fingerprint' name='fingerprint' reporter:datatype='text'></field> 
+			<field reporter:label='Overall Record Quality' name='quality' reporter:datatype='int'></field> 
+			<field reporter:label='TCN Source' name='tcn_source' reporter:datatype='text'></field> 
+			<field reporter:label='TCN Value' name='tcn_value' reporter:datatype='text'></field> 
+			<field reporter:label='Title Proper (normalized)' name='title' reporter:datatype='text'></field> 
+			<field reporter:label='Author (normalized)' name='author' reporter:datatype='text'></field> 
+			<field reporter:label='Publisher (normalized)' name='publisher' reporter:datatype='text'></field> 
+			<field reporter:label='Publication Year (normalized)' name='pubdate' reporter:datatype='int'></field> 
+			<field reporter:label='ISBN' name='isbn' reporter:datatype='text'></field> 
+			<field reporter:label='ISSN' name='issn' reporter:datatype='text'></field> 
+			<field reporter:label='Full Bibliographic record' name='biblio_record' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='biblio_record' reltype='might_have' class='bre' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::simple_record' reporter:label='Simple Record' controller='open-ils.reporter-store' oils_persist:tablename='reporter.simple_record' id='rsr'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Record ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Metarecord' name='metarecord' reporter:datatype='link'></field> 
+			<field reporter:label='Fingerprint' name='fingerprint'></field> 
+			<field reporter:label='Overall Record Quality' name='quality' reporter:datatype='int'></field> 
+			<field reporter:label='TCN Source' name='tcn_source' reporter:datatype='text'></field> 
+			<field reporter:label='TCN Value' name='tcn_value' reporter:datatype='text'></field> 
+			<field reporter:label='Title Proper (normalized)' name='title' reporter:datatype='text'></field> 
+			<field reporter:label='Uniform Title (normalized)' name='uniform_title' reporter:datatype='text'></field> 
+			<field reporter:label='Author (normalized)' name='author' reporter:datatype='text'></field> 
+			<field reporter:label='Publisher (normalized)' name='publisher' reporter:datatype='text'></field> 
+			<field reporter:label='Publication Year (normalized)' name='pubdate' reporter:datatype='int'></field> 
+			<field reporter:label='Series Title (normalized)' name='series_title' reporter:datatype='text'></field> 
+			<field reporter:label='Series Statement (normalized)' name='series_statement' reporter:datatype='text'></field> 
+			<field reporter:label='Summary (normalized)' name='summary' reporter:datatype='text'></field> 
+			<field reporter:label='ISBN' name='isbn' reporter:datatype='text'></field> 
+			<field reporter:label='ISSN' name='issn' reporter:datatype='text'></field> 
+			<field reporter:label='Topic Subjects (normalized)' name='topic_subject' reporter:datatype='text'></field> 
+			<field reporter:label='Geographic Subjects (normalized)' name='geographic_subject' reporter:datatype='text'></field> 
+			<field reporter:label='Genres (normalized)' name='genre' reporter:datatype='text'></field> 
+			<field reporter:label='Personal Name Subjects (normalized)' name='name_subject' reporter:datatype='text'></field> 
+			<field reporter:label='Corporate Name Subjects (normalized)' name='corporate_subject' reporter:datatype='text'></field> 
+			<field reporter:label='External URI List (normalized)' name='external_uri' reporter:datatype='text'></field> 
+			<field reporter:label='Full Bibliographic record' name='biblio_record' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='metarecord' reltype='has_a' class='mmr' key='id' map=''></link> 
+			<link field='biblio_record' reltype='might_have' class='bre' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::user_demographic' reporter:label='User Demographics' controller='open-ils.reporter-store open-ils.cstore' oils_persist:tablename='reporter.demographic' id='rud'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='User ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Date of Birth' name='dob' reporter:datatype='timestamp'></field> 
+			<field reporter:label='General Demographic Division' name='general_division' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='id' reltype='might_have' class='au' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::circulation_type' reporter:label='Circulation Type' controller='open-ils.reporter-store open-ils.cstore' oils_persist:tablename='reporter.circ_type' id='rcirct'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Circulation ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Circulation Type' name='type' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='id' reltype='might_have' class='circ' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::hold_request_record' reporter:label='Hold Request Record' controller='open-ils.reporter-store' oils_persist:tablename='reporter.hold_request_record' id='rhrr'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Hold ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Hold Target' name='target' reporter:datatype='int'></field> 
+			<field reporter:label='Hold Request Type' name='hold_type' reporter:datatype='text'></field> 
+			<field reporter:label='Target Bib Record' name='bib_record' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='id' reltype='might_have' class='ahr' key='id' map=''></link> 
+			<link field='bib_record' reltype='has_a' class='bre' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::xact_billing_totals' reporter:label='Transaction Billing Totals' controller='open-ils.reporter-store' oils_persist:tablename='reporter.xact_billing_totals' id='rxbt'> 
+		<fields oils_persist:primary='xact'> 
+			<field reporter:label='Transaction ID' name='xact' reporter:datatype='int'></field> 
+			<field reporter:label='Unvoided Billing Amount' name='unvoided' reporter:datatype='int'></field> 
+			<field reporter:label='Voided Billing Amount' name='voided' reporter:datatype='money'></field> 
+			<field reporter:label='Total Billing Amount' name='total' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='xact' reltype='might_have' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='reporter::xact_paid_totals' reporter:label='Transaction Paid Totals' controller='open-ils.reporter-store' oils_persist:tablename='reporter.xact_paid_totals' id='rxpt'> 
+		<fields oils_persist:primary='xact'> 
+			<field reporter:label='Transaction ID' name='xact' reporter:datatype='int'></field> 
+			<field reporter:label='Unvoided Paid Amount' name='unvoided' reporter:datatype='int'></field> 
+			<field reporter:label='Voided (Returned) Paid Amount' name='voided' reporter:datatype='money'></field> 
+			<field reporter:label='Total Paid Amount' name='total' reporter:datatype='money'></field> 
+		</fields> 
+		<links> 
+			<link field='xact' reltype='might_have' class='mbt' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='extend_reporter::global_bibs_by_holding_update' reporter:label='Bib IDs by Holding Add/Delete Time (OCLC batch update)' controller='open-ils.reporter-store' oils_persist:tablename='extend_reporter.global_bibs_by_holding_update' id='ergbhu'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Bib ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Update Time' name='holding_update' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Update Type' name='update_type' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='id' reltype='has_a' class='bre' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='extend_reporter::full_circ_count' reporter:label='Total Circulation Count, Including Legacy' controller='open-ils.reporter-store' oils_persist:tablename='extend_reporter.full_circ_count' id='erfcc'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Copy ID' name='id' reporter:datatype='int'></field> 
+			<field reporter:label='Total Circulation Count' name='circ_count' reporter:datatype='int'></field> 
+		</fields> 
+		<links> 
+			<link field='id' reltype='has_a' class='acp' key='id' map=''></link> 
+		</links> 
+	</class> 
+	<class oils_obj:fieldmapper='acq::distribution_formula' reporter:label='Distribution Formula' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.distribution_formula' id='acqdf'> 
+		<fields oils_persist:sequence='acq.distribution_formula_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Formula ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Formula Owner' name='owner' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Formula Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Skip Count' name='skip_count' reporter:datatype='int'></field> 
+			<field reporter:label='Entries' name='entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='entries' reltype='has_many' class='acqdfe' key='formula' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create context_field='owner' permission='ADMIN_ACQ_DISTRIB_FORMULA'></create> 
+				<retrieve context_field='owner' permission='ADMIN_ACQ_DISTRIB_FORMULA'></retrieve> 
+				<update context_field='owner' permission='ADMIN_ACQ_DISTRIB_FORMULA'></update> 
+				<delete context_field='owner' permission='ADMIN_ACQ_DISTRIB_FORMULA'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='acq::distribution_formula_entry' reporter:label='Distribution Formula Entry' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.distribution_formula_entry' id='acqdfe'> 
+		<fields oils_persist:sequence='acq.distribution_formula_entry_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Entry ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Formula ID' name='formula' reporter:datatype='link'></field> 
+			<field reporter:label='Position' name='position' reporter:datatype='int'></field> 
+			<field reporter:label='Item Count' name='item_count' reporter:datatype='int'></field> 
+			<field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Location' name='location' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='formula' reltype='has_a' class='acqdf' key='id' map=''></link> 
+			<link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='location' reltype='has_a' class='acpl' key='id' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create permission='ADMIN_ACQ_DISTRIB_FORMULA'> 
+					<context field='owner' link='formula'></context> 
+				</create> 
+				<retrieve permission='ADMIN_ACQ_DISTRIB_FORMULA'> 
+					<context field='owner' link='formula'></context> 
+				</retrieve> 
+				<update permission='ADMIN_ACQ_DISTRIB_FORMULA'> 
+					<context field='owner' link='formula'></context> 
+				</update> 
+				<delete permission='ADMIN_ACQ_DISTRIB_FORMULA'> 
+					<context field='owner' link='formula'></context> 
+				</delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
+ 
 	
 	
 	
-	<class reporter:label='Classic Circulation View' oils_persist:tablename='reporter.classic_current_circ' reporter:core='true' oils_obj:fieldmapper='reporter::classic_current_circ' controller='open-ils.reporter-store' id='rccc'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Circulation' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Library Circulation Location Short (Policy) Name' name='circ_lib' reporter:datatype='text'></field>
-			<field reporter:label='Library Circulation Location Link' name='circ_lib_id' reporter:datatype='org_unit'></field>
-			<field reporter:label='Circulation Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text'></field>
-			<field reporter:label='Copy Link' name='copy_id' reporter:datatype='link'></field>
-			<field reporter:label='Circ Modifier' name='circ_modifier' reporter:datatype='text'></field>
-			<field reporter:label='Owning Library Short (Policy) Name' name='owning_lib_name' reporter:datatype='text'></field>
-			<field reporter:label='Item Language' name='language' reporter:datatype='text'></field>
-			<field reporter:label='Literary Form' name='lit_form' reporter:datatype='text'></field>
-			<field reporter:label='MARC Form' name='item_form' reporter:datatype='text'></field>
-			<field reporter:label='MARC Type' name='item_type' reporter:datatype='text'></field>
-			<field reporter:label='Shelving Location' name='shelving_location' reporter:datatype='text'></field>
-			<field reporter:label='Patron Profile Group' name='profile_group' reporter:datatype='text'></field>
-			<field reporter:label='Patron Age Demographic' name='demographic_general_division' reporter:datatype='text'></field>
-			<field reporter:label='Call Number Link' name='call_number' reporter:datatype='link'></field>
-			<field reporter:label='Call Number Label' name='call_number_label' reporter:datatype='text'></field>
-			<field reporter:label='Call Number Dewey/Prefix' name='dewey' reporter:datatype='text'></field>
-			<field reporter:label='Patron Link' name='patron_id' reporter:datatype='link'></field>
-			<field reporter:label='Patron Home Library Link' name='patron_home_lib' reporter:datatype='link'></field>
-			<field reporter:label='Patron Home Library Short (Policy) Name' name='patron_home_lib_shortname' reporter:datatype='text'></field>
-			<field reporter:label='Patron County' name='patron_county' reporter:datatype='text'></field>
-			<field reporter:label='Patron City' name='patron_city' reporter:datatype='text'></field>
-			<field reporter:label='Patron ZIP Code' name='patron_zip' reporter:datatype='text'></field>
-			<field reporter:label='Legacy CAT1 Link' name='stat_cat_1' reporter:datatype='link'></field>
-			<field reporter:label='Legacy CAT2 Link' name='stat_cat_2' reporter:datatype='link'></field>
-			<field reporter:label='Dewey Range - Tens' name='dewey_range_tens' reporter:datatype='text'></field>
-			<field reporter:label='Dewey Range - Hundreds' name='dewey_range_hundreds' reporter:datatype='text'></field>
-			<field reporter:label='Dewey Block - Tens' name='dewey_block_tens' reporter:datatype='text'></field>
-			<field reporter:label='Dewey Block - Hundreds' name='dewey_block_hundreds' reporter:datatype='text'></field>
-			<field reporter:label='Legacy CAT1 Value' name='stat_cat_1_value' reporter:datatype='text'></field>
-			<field reporter:label='Legacy CAT2 Value' name='stat_cat_2_value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='id' reltype='has_a' class='circ' key='id' map=''></link>
-			<link field='copy_id' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='patron_id' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='circ_lib_id' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='call_number' reltype='has_a' class='acn' key='id' map=''></link>
-			<link field='patron_home_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='stat_cat_1' reltype='has_a' class='rsce1' key='id' map=''></link>
-			<link field='stat_cat_2' reltype='has_a' class='rsce2' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='reporter::legacy_cat1' reporter:label='CAT1 Entry' controller='open-ils.reporter-store open-ils.cstore' oils_persist:tablename='reporter.legacy_cat1' id='rsce1'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Entry ID' name='id' reporter:datatype='id' reporter:selector='value'></field>
-			<field reporter:label='Entry Owner' name='owner' reporter:datatype='link'></field>
-			<field reporter:label='Entry Value' name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class oils_obj:fieldmapper='reporter::legacy_cat2' reporter:label='CAT2 Entry' controller='open-ils.reporter-store open-ils.cstore' oils_persist:tablename='reporter.legacy_cat2' id='rsce2'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Entry ID' name='id' reporter:datatype='id' reporter:selector='value'></field>
-			<field reporter:label='Entry Owner' name='owner' reporter:datatype='link'></field>
-			<field reporter:label='Entry Value' name='value' reporter:datatype='text'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Classic Open Transaction Summary' oils_persist:tablename='reporter.classic_current_billing_summary' reporter:core='true' oils_obj:fieldmapper='reporter::classic_current_billing_summary' controller='open-ils.reporter-store' id='rccbs'>
-		<fields oils_persist:primary='id'>
-			<field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field>
-
-			<field reporter:label='Billing Location Short (Policy) Name' name='billing_location_shortname' reporter:datatype='text'></field>
-			<field reporter:label='Billing Location Name' name='billing_location_name' reporter:datatype='text'></field>
-			<field reporter:label='Billing Location Link' name='billing_location' reporter:datatype='org_unit'></field>
-
-			<field reporter:label='User Home Library Short (Policy) Name' name='usr_home_ou_shortname' reporter:datatype='text'></field>
-			<field reporter:label='User Home Library Name' name='usr_home_ou_name' reporter:datatype='text'></field>
-			<field reporter:label='User Home Library Link' name='usr_home_ou' reporter:datatype='org_unit'></field>
-
-			<field reporter:label='User Barcode' name='barcode' reporter:datatype='text'></field>
-			<field reporter:label='User Link' name='usr' reporter:datatype='link'></field>
-
-			<field reporter:label='Transaction Start Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction End Date/Time' name='xact_finish' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction Type' name='xact_type' reporter:datatype='text'></field>
-
-			<field reporter:label='Total Paid' name='total_paid' reporter:datatype='money'></field>
-			<field reporter:label='Total Billed' name='total_owed' reporter:datatype='money'></field>
-
-			<field reporter:label='Last Payment Date/Time' name='last_payment_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Last Payment Note' name='last_payment_note' reporter:datatype='text'></field>
-			<field reporter:label='Last Payment Type' name='last_payment_type' reporter:datatype='text'></field>
-
-			<field reporter:label='Last Billing Date/Time' name='last_billing_ts' reporter:datatype='timestamp'></field>
-			<field reporter:label='Last Billing Note' name='last_billing_note' reporter:datatype='text'></field>
-			<field reporter:label='Last Billing Type' name='last_billing_type' reporter:datatype='text'></field>
-
-			<field reporter:label='User Age Demographic' name='demographic_general_division' reporter:datatype='text'></field>
-			<field reporter:label='User County' name='patron_county' reporter:datatype='text'></field>
-			<field reporter:label='User City' name='patron_city' reporter:datatype='text'></field>
-			<field reporter:label='User ZIP Code' name='patron_zip' reporter:datatype='text'></field>
-
-			<field reporter:label='Balance Owed' name='balance_owed' reporter:datatype='money'></field>
-			<field reporter:label='User Profile Group' name='profile_group' reporter:datatype='text'></field>
-
-		</fields>
-		<links>
-			<link field='id' reltype='has_a' class='mbt' key='id' map=''></link>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='billing_location' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='usr_home_ou' reltype='has_a' class='aou' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Inter-system Copy Transit' reporter:core='true' oils_obj:fieldmapper='action::intersystem_transit_copy' controller='open-ils.reporter-store' id='iatc' oils_persist:readonly='true'>
-		<oils_persist:source_definition>
-
+	<class reporter:label='Classic Circulation View' oils_persist:tablename='reporter.classic_current_circ' reporter:core='true' oils_obj:fieldmapper='reporter::classic_current_circ' controller='open-ils.reporter-store' id='rccc'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Circulation' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Library Circulation Location Short (Policy) Name' name='circ_lib' reporter:datatype='text'></field> 
+			<field reporter:label='Library Circulation Location Link' name='circ_lib_id' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Circulation Date/Time' name='xact_start' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text'></field> 
+			<field reporter:label='Copy Link' name='copy_id' reporter:datatype='link'></field> 
+			<field reporter:label='Circ Modifier' name='circ_modifier' reporter:datatype='text'></field> 
+			<field reporter:label='Owning Library Short (Policy) Name' name='owning_lib_name' reporter:datatype='text'></field> 
+			<field reporter:label='Item Language' name='language' reporter:datatype='text'></field> 
+			<field reporter:label='Literary Form' name='lit_form' reporter:datatype='text'></field> 
+			<field reporter:label='MARC Form' name='item_form' reporter:datatype='text'></field> 
+			<field reporter:label='MARC Type' name='item_type' reporter:datatype='text'></field> 
+			<field reporter:label='Shelving Location' name='shelving_location' reporter:datatype='text'></field> 
+			<field reporter:label='Patron Profile Group' name='profile_group' reporter:datatype='text'></field> 
+			<field reporter:label='Patron Age Demographic' name='demographic_general_division' reporter:datatype='text'></field> 
+			<field reporter:label='Call Number Link' name='call_number' reporter:datatype='link'></field> 
+			<field reporter:label='Call Number Label' name='call_number_label' reporter:datatype='text'></field> 
+			<field reporter:label='Call Number Dewey/Prefix' name='dewey' reporter:datatype='text'></field> 
+			<field reporter:label='Patron Link' name='patron_id' reporter:datatype='link'></field> 
+			<field reporter:label='Patron Home Library Link' name='patron_home_lib' reporter:datatype='link'></field> 
+			<field reporter:label='Patron Home Library Short (Policy) Name' name='patron_home_lib_shortname' reporter:datatype='text'></field> 
+			<field reporter:label='Patron County' name='patron_county' reporter:datatype='text'></field> 
+			<field reporter:label='Patron City' name='patron_city' reporter:datatype='text'></field> 
+			<field reporter:label='Patron ZIP Code' name='patron_zip' reporter:datatype='text'></field> 
+			<field reporter:label='Legacy CAT1 Link' name='stat_cat_1' reporter:datatype='link'></field> 
+			<field reporter:label='Legacy CAT2 Link' name='stat_cat_2' reporter:datatype='link'></field> 
+			<field reporter:label='Dewey Range - Tens' name='dewey_range_tens' reporter:datatype='text'></field> 
+			<field reporter:label='Dewey Range - Hundreds' name='dewey_range_hundreds' reporter:datatype='text'></field> 
+			<field reporter:label='Dewey Block - Tens' name='dewey_block_tens' reporter:datatype='text'></field> 
+			<field reporter:label='Dewey Block - Hundreds' name='dewey_block_hundreds' reporter:datatype='text'></field> 
+			<field reporter:label='Legacy CAT1 Value' name='stat_cat_1_value' reporter:datatype='text'></field> 
+			<field reporter:label='Legacy CAT2 Value' name='stat_cat_2_value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='id' reltype='has_a' class='circ' key='id' map=''></link> 
+			<link field='copy_id' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='patron_id' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='circ_lib_id' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='call_number' reltype='has_a' class='acn' key='id' map=''></link> 
+			<link field='patron_home_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='stat_cat_1' reltype='has_a' class='rsce1' key='id' map=''></link> 
+			<link field='stat_cat_2' reltype='has_a' class='rsce2' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='reporter::legacy_cat1' reporter:label='CAT1 Entry' controller='open-ils.reporter-store open-ils.cstore' oils_persist:tablename='reporter.legacy_cat1' id='rsce1'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Entry ID' name='id' reporter:datatype='id' reporter:selector='value'></field> 
+			<field reporter:label='Entry Owner' name='owner' reporter:datatype='link'></field> 
+			<field reporter:label='Entry Value' name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class oils_obj:fieldmapper='reporter::legacy_cat2' reporter:label='CAT2 Entry' controller='open-ils.reporter-store open-ils.cstore' oils_persist:tablename='reporter.legacy_cat2' id='rsce2'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Entry ID' name='id' reporter:datatype='id' reporter:selector='value'></field> 
+			<field reporter:label='Entry Owner' name='owner' reporter:datatype='link'></field> 
+			<field reporter:label='Entry Value' name='value' reporter:datatype='text'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Classic Open Transaction Summary' oils_persist:tablename='reporter.classic_current_billing_summary' reporter:core='true' oils_obj:fieldmapper='reporter::classic_current_billing_summary' controller='open-ils.reporter-store' id='rccbs'> 
+		<fields oils_persist:primary='id'> 
+			<field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field> 
+ 
+			<field reporter:label='Billing Location Short (Policy) Name' name='billing_location_shortname' reporter:datatype='text'></field> 
+			<field reporter:label='Billing Location Name' name='billing_location_name' reporter:datatype='text'></field> 
+			<field reporter:label='Billing Location Link' name='billing_location' reporter:datatype='org_unit'></field> 
+ 
+			<field reporter:label='User Home Library Short (Policy) Name' name='usr_home_ou_shortname' reporter:datatype='text'></field> 
+			<field reporter:label='User Home Library Name' name='usr_home_ou_name' reporter:datatype='text'></field> 
+			<field reporter:label='User Home Library Link' name='usr_home_ou' reporter:datatype='org_unit'></field> 
+ 
+			<field reporter:label='User Barcode' name='barcode' reporter:datatype='text'></field> 
+			<field reporter:label='User Link' name='usr' reporter:datatype='link'></field> 
+ 
+			<field reporter:label='Transaction Start Date/Time' name='xact_start' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction End Date/Time' name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction Type' name='xact_type' reporter:datatype='text'></field> 
+ 
+			<field reporter:label='Total Paid' name='total_paid' reporter:datatype='money'></field> 
+			<field reporter:label='Total Billed' name='total_owed' reporter:datatype='money'></field> 
+ 
+			<field reporter:label='Last Payment Date/Time' name='last_payment_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Last Payment Note' name='last_payment_note' reporter:datatype='text'></field> 
+			<field reporter:label='Last Payment Type' name='last_payment_type' reporter:datatype='text'></field> 
+ 
+			<field reporter:label='Last Billing Date/Time' name='last_billing_ts' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Last Billing Note' name='last_billing_note' reporter:datatype='text'></field> 
+			<field reporter:label='Last Billing Type' name='last_billing_type' reporter:datatype='text'></field> 
+ 
+			<field reporter:label='User Age Demographic' name='demographic_general_division' reporter:datatype='text'></field> 
+			<field reporter:label='User County' name='patron_county' reporter:datatype='text'></field> 
+			<field reporter:label='User City' name='patron_city' reporter:datatype='text'></field> 
+			<field reporter:label='User ZIP Code' name='patron_zip' reporter:datatype='text'></field> 
+ 
+			<field reporter:label='Balance Owed' name='balance_owed' reporter:datatype='money'></field> 
+			<field reporter:label='User Profile Group' name='profile_group' reporter:datatype='text'></field> 
+ 
+		</fields> 
+		<links> 
+			<link field='id' reltype='has_a' class='mbt' key='id' map=''></link> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='billing_location' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='usr_home_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Inter-system Copy Transit' reporter:core='true' oils_obj:fieldmapper='action::intersystem_transit_copy' controller='open-ils.reporter-store' id='iatc' oils_persist:readonly='true'> 
+		<oils_persist:source_definition> 
+ 
 			SELECT	t.*
 			  FROM	action.transit_copy t
 				JOIN actor.org_unit AS s ON (t.source = s.id)
 				JOIN actor.org_unit AS d ON (t.dest = d.id)
 			  WHERE	s.parent_ou &lt;&gt; d.parent_ou
-
-		</oils_persist:source_definition>
-		<fields oils_persist:sequence='action.transit_copy_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Pretransit Copy Status' name='copy_status' reporter:datatype='bool'></field>
-			<field reporter:label='Destination' name='dest' reporter:datatype='link'></field>
-			<field reporter:label='Receive Date/Time' name='dest_recv_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transit ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Is Persistent? (unused)' name='persistant_transfer' reporter:datatype='bool'></field>
-			<field reporter:label='Previous Hop (unused)' name='prev_hop' reporter:datatype='link'></field>
-			<field reporter:label='Source' name='source' reporter:datatype='link'></field>
-			<field reporter:label='Send Date/Time' name='source_send_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transited Copy' name='target_copy' reporter:datatype='link'></field>
-			<field reporter:label='Hold Transit' name='hold_transit_copy' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='hold_transit_copy' reltype='might_have' class='ahtc' key='id' map=''></link>
-			<link field='source' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='copy_status' reltype='has_a' class='ccs' key='id' map=''></link>
-			<link field='dest' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-		</links>
-	</class>
-
-	<class reporter:label='Overdue Circulation' oils_persist:tablename='reporter.overdue_circs' reporter:core='true' oils_obj:fieldmapper='reporter::overdue_circs' controller='open-ils.reporter-store' id='rodcirc'>
-		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Check In Library' name='checkin_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Check In Staff' name='checkin_staff' reporter:datatype='link'></field>
-			<field reporter:label='Check In Date/Time' name='checkin_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
-			<field reporter:label='Circulating Staff' name='circ_staff' reporter:datatype='link'></field>
-			<field reporter:label='Desk Renewal' name='desk_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Due Date/Time' name='due_date' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulation Duration' name='duration' reporter:datatype='interval'></field>
-			<field reporter:label='Circ Duration Rule' name='duration_rule' reporter:datatype='link'></field>
-			<field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field>
-			<field reporter:label='Circ ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field>
-			<field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field>
-			<field reporter:label='OPAC Renewal' name='opac_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Phone Renewal' name='phone_renewal' reporter:datatype='bool'></field>
-			<field reporter:label='Recurring Fine Amount' name='recuring_fine' reporter:datatype='money'></field>
-			<field reporter:label='Recurring Fine Rule' name='recuring_fine_rule' reporter:datatype='link'></field>
-			<field reporter:label='Remaining Renewals' name='renewal_remaining' reporter:datatype='int'></field>
-			<field reporter:label='Fine Stop Reason' name='stop_fines' reporter:datatype='text'></field>
-			<field reporter:label='Fine Stop Date/Time' name='stop_fines_time' reporter:datatype='timestamp'></field>
-			<field reporter:label='Circulating Item' name='target_copy' reporter:datatype='link'></field>
-			<field reporter:label='Patron' name='usr' reporter:datatype='link'></field>
-			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field>
-			<field reporter:label='Check Out Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
-			<field reporter:label='Transaction Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Transaction Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Base Transaction' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field>
-			<field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link>
-			<link field='circ_staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='checkin_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-			<link field='checkin_staff' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link>
-			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link>
-			<link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link>
-			<link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link>
-			<link field='recuring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link>
-			<link field='circ_type' reltype='might_have' class='rcirct' key='id' map=''></link>
-			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link>
-			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link>
-		</links>
-	</class>
-
-    <class reporter:label='Classic Item List' oils_persist:tablename='reporter.classic_item_list' reporter:core='true' oils_obj:fieldmapper='reporter::classic_item_list' controller='open-ils.reporter-store' id='rocit'>
-        <fields oils_persist:primary='id'>
-            <field reporter:label='Title' name='title' reporter:datatype='text'></field>
-            <field reporter:label='Author' name='author' reporter:datatype='text'></field>
-            <field reporter:label='Pubdate' name='pubdate' reporter:datatype='text'></field>
-            <field reporter:label='Copy ID' name='id' reporter:datatype='id'></field>
-            <field reporter:label='Price' name='price' reporter:datatype='money'></field>
-            <field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field>
-            <field reporter:label='Callnumber Label' name='call_number_label' reporter:datatype='text'></field>
-            <field reporter:label='Dewy Tens' name='dewey_block_tens' reporter:datatype='text'></field>
-            <field reporter:label='Dewy Hundreds' name='dewey_block_hundreds' reporter:datatype='text'></field>
-            <field reporter:label='Use Count' name='use_count' reporter:datatype='int'></field>
-            <field reporter:label='Circ Modifier' name='circ_modifier' reporter:datatype='text'></field>
-            <field reporter:label='Shelving Location Name' name='shelving_location' reporter:datatype='text'></field>
-            <field reporter:label='Legacy Stat Cat 1' name='stat_cat_1' reporter:datatype='text'></field>
-            <field reporter:label='Legacy Stat Cat 2' name='stat_cat_2' reporter:datatype='text'></field>
-            <field reporter:label='Legacy Stat Cat 1 Value' name='stat_cat_1_value' reporter:datatype='text'></field>
-            <field reporter:label='Legacy Stat Cat 2 Value' name='stat_cat_2_value' reporter:datatype='text'></field>
-            <field reporter:label='Edit Date' name='edit_date' reporter:datatype='timestamp'></field>
-            <field reporter:label='Create Date' name='create_date' reporter:datatype='timestamp'></field>
-            <field reporter:label='Owning Lib Name' name='owning_lib_name' reporter:datatype='text'></field>
-            <field reporter:label='Circ Lib Name' name='circ_lib_name' reporter:datatype='text'></field>
-            <field reporter:label='Owning Lib' name='owning_lib' reporter:datatype='link'></field>
-            <field reporter:label='Circ Lib' name='circ_lib' reporter:datatype='link'></field>
-            <field reporter:label='Creator' name='creator' reporter:datatype='link'></field>
-            <field reporter:label='Age Protection' name='age_protect' reporter:datatype='link'></field>
-            <field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field>
-            <field reporter:label='Reference' name='ref' reporter:datatype='bool'></field>
-            <field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='text'></field>
-            <field reporter:label='Deleted' name='deleted' reporter:datatype='bool'></field>
-            <field reporter:label='TCN' name='tcn_value' reporter:datatype='text'></field>
-            <field reporter:label='Status' name='status' reporter:datatype='link'></field>
-            <field reporter:label='Stop Fines Reason' name='stop_fines' reporter:datatype='text'></field>
-            <field reporter:label='Due Date' name='due_date' reporter:datatype='timestamp'></field>
-            <field reporter:label='Patron Barcode' name='patron_barcode' reporter:datatype='text'></field>
-            <field reporter:label='Patron Name' name='patron_name' reporter:datatype='text'></field>
-        </fields>
-        <links>
-            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-            <link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-            <link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-            <link field='age_protect' reltype='has_a' class='crahp' key='id' map=''></link>
-            <link field='status' reltype='has_a' class='ccs' key='id' map=''></link>
-        </links>
-    </class>
-
-    <class reporter:label='Open Circulation Billing by Owning Library' oils_persist:tablename='money.open_circ_balance_by_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_circ_balance_by_owning_lib' controller='open-ils.reporter-store' id='rmocbbol'>
-        <fields oils_persist:primary='id'>
-            <field reporter:label='Circulation ID' name='id' reporter:datatype='link'></field>
-            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-            <field reporter:label='Billing Type' name='billing_type' reporter:datatype='text'></field>
-            <field reporter:label='Total Billed' name='billed' reporter:datatype='money'></field>
-        </fields>
-        <links>
-            <link field='id' reltype='has_a' class='circ' key='id' map=''></link>
-            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-        </links>
-    </class>
-
-    <class reporter:label='Open Circulation Balance by Owning Library' oils_persist:tablename='money.open_balance_by_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_balance_by_owning_lib' controller='open-ils.reporter-store' id='rmobbol'>
-        <fields oils_persist:primary='owning_lib'>
-            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-            <field reporter:label='Billing Types' name='billing_types' reporter:datatype='text'></field>
-            <field reporter:label='Balance' name='balance' reporter:datatype='money'></field>
-        </fields>
-        <links>
-            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-        </links>
-    </class>
-
-    <class reporter:label='Open Circulation Billing by Circulating Library and Owning Library' oils_persist:tablename='money.open_circ_balance_by_circ_and_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_circ_balance_by_circ_and_owning_lib' controller='open-ils.reporter-store' id='rmocbbcol'>
-        <fields oils_persist:primary='id'>
-            <field reporter:label='Circulation ID' name='id' reporter:datatype='link'></field>
-            <field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
-            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-            <field reporter:label='Billing Type' name='billing_type' reporter:datatype='text'></field>
-            <field reporter:label='Total Billed' name='billed' reporter:datatype='money'></field>
-        </fields>
-        <links>
-            <link field='id' reltype='has_a' class='circ' key='id' map=''></link>
-            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-            <link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-        </links>
-    </class>
-
-    <class reporter:label='Open Circulation Balance by Circulating Library and Owning Library' oils_persist:tablename='money.open_balance_by_circ_and_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_balance_by_circ_and_owning_lib' controller='open-ils.reporter-store' id='rmobbcol'>
-        <fields oils_persist:primary='circ_lib'>
-            <field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
-            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-            <field reporter:label='Billing Types' name='billing_types' reporter:datatype='text'></field>
-            <field reporter:label='Balance' name='balance' reporter:datatype='money'></field>
-        </fields>
-        <links>
-            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-            <link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-        </links>
-    </class>
-
-    <class reporter:label='Open Circulation Billing by User Home Library and Owning Library' oils_persist:tablename='money.open_circ_balance_by_usr_home_and_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_circ_balance_by_usr_home_and_owning_lib' controller='open-ils.reporter-store' id='rmocbbhol'>
-        <fields oils_persist:primary='id'>
-            <field reporter:label='Circulation ID' name='id' reporter:datatype='link'></field>
-            <field reporter:label='User Home Library' name='home_ou' reporter:datatype='org_unit'></field>
-            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-            <field reporter:label='Billing Type' name='billing_type' reporter:datatype='text'></field>
-            <field reporter:label='Total Billed' name='billed' reporter:datatype='money'></field>
-        </fields>
-        <links>
-            <link field='id' reltype='has_a' class='circ' key='id' map=''></link>
-            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-            <link field='home_ou' reltype='has_a' class='aou' key='id' map=''></link>
-        </links>
-    </class>
-
-    <class reporter:label='Open Circulation Balance by User Home Library and Owning Library' oils_persist:tablename='money.open_balance_by_usr_home_and_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_balance_by_usr_home_and_owning_lib' controller='open-ils.reporter-store' id='rmobbhol'>
-        <fields oils_persist:primary='home_ou'>
-            <field reporter:label='User Home Library' name='home_ou' reporter:datatype='org_unit'></field>
-            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-            <field reporter:label='Billing Types' name='billing_types' reporter:datatype='text'></field>
-            <field reporter:label='Balance' name='balance' reporter:datatype='money'></field>
-        </fields>
-        <links>
-            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-            <link field='home_ou' reltype='has_a' class='aou' key='id' map=''></link>
-        </links>
-    </class>
-	<class oils_obj:fieldmapper='acq::fund_tag' reporter:label='Fund Tag' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.fund_tag' id='acqft'>
-		<fields oils_persist:sequence='acq.fund_tag_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Fund Tag ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Fund Tag Owner' name='owner' reporter:datatype='org_unit'></field>
-			<field reporter:label='Fund Tag Name' name='name' reporter:datatype='text'></field>
-			<field reporter:label='Map Entries' name='map_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-		</fields>
-		<links>
-			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link>
-			<link field='map_entries' reltype='has_many' class='acqftm' key='fund' map=''></link>
-		</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-			<actions>
-				<create context_field='owner' permission='ADMIN_ACQ_FUND_TAG'></create>
-				<retrieve context_field='owner' permission='ADMIN_ACQ_FUND_TAG ADMIN_ACQ_FUND VIEW_FUND MANAGE_FUND'></retrieve>
-				<update context_field='owner' permission='ADMIN_ACQ_FUND_TAG'></update>
-			<delete context_field='owner' permission='ADMIN_ACQ_FUND_TAG'></delete>
-			</actions>
-		</permacrud>
-	</class>
-	<class oils_obj:fieldmapper='acq::fund_tag_map' reporter:label='Fund Tag Map' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.fund_tag_map' id='acqftm'>
-		<fields oils_persist:sequence='acq.fund_tag_map_id_seq' oils_persist:primary='id'>
-			<field reporter:label='Map Entry ID' name='id' reporter:datatype='id'></field>
-			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field>
-			<field reporter:label='Tag ID' name='tag' reporter:datatype='link'></field>
-		</fields>
-		<links>
-			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link>
-			<link field='tag' reltype='has_a' class='acqft' key='id' map=''></link>
-			</links>
-		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-    		<actions>
-				<create permission='ADMIN_ACQ_FUND_TAG'>
-					<context field='owner' link='tag'></context>
-				</create>
-				<retrieve permission='ADMIN_ACQ_FUND_TAG ADMIN_ACQ_FUND VIEW_FUND MANAGE_FUND'>
-					<context field='owner' link='tag'></context>
-				</retrieve>
-				<update permission='ADMIN_ACQ_FUND_TAG'>
-					<context field='owner' link='tag'></context>
-				</update>
-				<delete permission='ADMIN_ACQ_FUND_TAG'>
-					<context field='owner' link='tag'></context>
-				</delete>
-			</actions>
-		</permacrud>
-	</class>
-
+ 
+		</oils_persist:source_definition> 
+		<fields oils_persist:sequence='action.transit_copy_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Pretransit Copy Status' name='copy_status' reporter:datatype='bool'></field> 
+			<field reporter:label='Destination' name='dest' reporter:datatype='link'></field> 
+			<field reporter:label='Receive Date/Time' name='dest_recv_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transit ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Is Persistent? (unused)' name='persistant_transfer' reporter:datatype='bool'></field> 
+			<field reporter:label='Previous Hop (unused)' name='prev_hop' reporter:datatype='link'></field> 
+			<field reporter:label='Source' name='source' reporter:datatype='link'></field> 
+			<field reporter:label='Send Date/Time' name='source_send_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transited Copy' name='target_copy' reporter:datatype='link'></field> 
+			<field reporter:label='Hold Transit' name='hold_transit_copy' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='hold_transit_copy' reltype='might_have' class='ahtc' key='id' map=''></link> 
+			<link field='source' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='copy_status' reltype='has_a' class='ccs' key='id' map=''></link> 
+			<link field='dest' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+		</links> 
+	</class> 
+ 
+	<class reporter:label='Overdue Circulation' oils_persist:tablename='reporter.overdue_circs' reporter:core='true' oils_obj:fieldmapper='reporter::overdue_circs' controller='open-ils.reporter-store' id='rodcirc'> 
+		<fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Check In Library' name='checkin_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Check In Staff' name='checkin_staff' reporter:datatype='link'></field> 
+			<field reporter:label='Check In Date/Time' name='checkin_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Circulating Staff' name='circ_staff' reporter:datatype='link'></field> 
+			<field reporter:label='Desk Renewal' name='desk_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Due Date/Time' name='due_date' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulation Duration' name='duration' reporter:datatype='interval'></field> 
+			<field reporter:label='Circ Duration Rule' name='duration_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field> 
+			<field reporter:label='Circ ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field> 
+			<field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field> 
+			<field reporter:label='OPAC Renewal' name='opac_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Phone Renewal' name='phone_renewal' reporter:datatype='bool'></field> 
+			<field reporter:label='Recurring Fine Amount' name='recuring_fine' reporter:datatype='money'></field> 
+			<field reporter:label='Recurring Fine Rule' name='recuring_fine_rule' reporter:datatype='link'></field> 
+			<field reporter:label='Remaining Renewals' name='renewal_remaining' reporter:datatype='int'></field> 
+			<field reporter:label='Fine Stop Reason' name='stop_fines' reporter:datatype='text'></field> 
+			<field reporter:label='Fine Stop Date/Time' name='stop_fines_time' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Circulating Item' name='target_copy' reporter:datatype='link'></field> 
+			<field reporter:label='Patron' name='usr' reporter:datatype='link'></field> 
+			<field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Check Out Date/Time' name='xact_start' reporter:datatype='timestamp'></field> 
+			<field reporter:label='Transaction Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Transaction Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Base Transaction' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field> 
+			<field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text' oils_persist:virtual='true'></field> 
+			<field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+			<field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link> 
+			<link field='circ_staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='checkin_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link> 
+			<link field='checkin_staff' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='usr' reltype='has_a' class='au' key='id' map=''></link> 
+			<link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='payments' reltype='has_many' class='mp' key='xact' map=''></link> 
+			<link field='billings' reltype='has_many' class='mb' key='xact' map=''></link> 
+			<link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link> 
+			<link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link> 
+			<link field='recuring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link> 
+			<link field='circ_type' reltype='might_have' class='rcirct' key='id' map=''></link> 
+			<link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link> 
+			<link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link> 
+		</links> 
+	</class> 
+ 
+    <class reporter:label='Classic Item List' oils_persist:tablename='reporter.classic_item_list' reporter:core='true' oils_obj:fieldmapper='reporter::classic_item_list' controller='open-ils.reporter-store' id='rocit'> 
+        <fields oils_persist:primary='id'> 
+            <field reporter:label='Title' name='title' reporter:datatype='text'></field> 
+            <field reporter:label='Author' name='author' reporter:datatype='text'></field> 
+            <field reporter:label='Pubdate' name='pubdate' reporter:datatype='text'></field> 
+            <field reporter:label='Copy ID' name='id' reporter:datatype='id'></field> 
+            <field reporter:label='Price' name='price' reporter:datatype='money'></field> 
+            <field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field> 
+            <field reporter:label='Callnumber Label' name='call_number_label' reporter:datatype='text'></field> 
+            <field reporter:label='Dewy Tens' name='dewey_block_tens' reporter:datatype='text'></field> 
+            <field reporter:label='Dewy Hundreds' name='dewey_block_hundreds' reporter:datatype='text'></field> 
+            <field reporter:label='Use Count' name='use_count' reporter:datatype='int'></field> 
+            <field reporter:label='Circ Modifier' name='circ_modifier' reporter:datatype='text'></field> 
+            <field reporter:label='Shelving Location Name' name='shelving_location' reporter:datatype='text'></field> 
+            <field reporter:label='Legacy Stat Cat 1' name='stat_cat_1' reporter:datatype='text'></field> 
+            <field reporter:label='Legacy Stat Cat 2' name='stat_cat_2' reporter:datatype='text'></field> 
+            <field reporter:label='Legacy Stat Cat 1 Value' name='stat_cat_1_value' reporter:datatype='text'></field> 
+            <field reporter:label='Legacy Stat Cat 2 Value' name='stat_cat_2_value' reporter:datatype='text'></field> 
+            <field reporter:label='Edit Date' name='edit_date' reporter:datatype='timestamp'></field> 
+            <field reporter:label='Create Date' name='create_date' reporter:datatype='timestamp'></field> 
+            <field reporter:label='Owning Lib Name' name='owning_lib_name' reporter:datatype='text'></field> 
+            <field reporter:label='Circ Lib Name' name='circ_lib_name' reporter:datatype='text'></field> 
+            <field reporter:label='Owning Lib' name='owning_lib' reporter:datatype='link'></field> 
+            <field reporter:label='Circ Lib' name='circ_lib' reporter:datatype='link'></field> 
+            <field reporter:label='Creator' name='creator' reporter:datatype='link'></field> 
+            <field reporter:label='Age Protection' name='age_protect' reporter:datatype='link'></field> 
+            <field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field> 
+            <field reporter:label='Reference' name='ref' reporter:datatype='bool'></field> 
+            <field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='text'></field> 
+            <field reporter:label='Deleted' name='deleted' reporter:datatype='bool'></field> 
+            <field reporter:label='TCN' name='tcn_value' reporter:datatype='text'></field> 
+            <field reporter:label='Status' name='status' reporter:datatype='link'></field> 
+            <field reporter:label='Stop Fines Reason' name='stop_fines' reporter:datatype='text'></field> 
+            <field reporter:label='Due Date' name='due_date' reporter:datatype='timestamp'></field> 
+            <field reporter:label='Patron Barcode' name='patron_barcode' reporter:datatype='text'></field> 
+            <field reporter:label='Patron Name' name='patron_name' reporter:datatype='text'></field> 
+        </fields> 
+        <links> 
+            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+            <link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+            <link field='creator' reltype='has_a' class='au' key='id' map=''></link> 
+            <link field='age_protect' reltype='has_a' class='crahp' key='id' map=''></link> 
+            <link field='status' reltype='has_a' class='ccs' key='id' map=''></link> 
+        </links> 
+    </class> 
+ 
+    <class reporter:label='Open Circulation Billing by Owning Library' oils_persist:tablename='money.open_circ_balance_by_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_circ_balance_by_owning_lib' controller='open-ils.reporter-store' id='rmocbbol'> 
+        <fields oils_persist:primary='id'> 
+            <field reporter:label='Circulation ID' name='id' reporter:datatype='link'></field> 
+            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Billing Type' name='billing_type' reporter:datatype='text'></field> 
+            <field reporter:label='Total Billed' name='billed' reporter:datatype='money'></field> 
+        </fields> 
+        <links> 
+            <link field='id' reltype='has_a' class='circ' key='id' map=''></link> 
+            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+        </links> 
+    </class> 
+ 
+    <class reporter:label='Open Circulation Balance by Owning Library' oils_persist:tablename='money.open_balance_by_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_balance_by_owning_lib' controller='open-ils.reporter-store' id='rmobbol'> 
+        <fields oils_persist:primary='owning_lib'> 
+            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Billing Types' name='billing_types' reporter:datatype='text'></field> 
+            <field reporter:label='Balance' name='balance' reporter:datatype='money'></field> 
+        </fields> 
+        <links> 
+            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+        </links> 
+    </class> 
+ 
+    <class reporter:label='Open Circulation Billing by Circulating Library and Owning Library' oils_persist:tablename='money.open_circ_balance_by_circ_and_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_circ_balance_by_circ_and_owning_lib' controller='open-ils.reporter-store' id='rmocbbcol'> 
+        <fields oils_persist:primary='id'> 
+            <field reporter:label='Circulation ID' name='id' reporter:datatype='link'></field> 
+            <field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Billing Type' name='billing_type' reporter:datatype='text'></field> 
+            <field reporter:label='Total Billed' name='billed' reporter:datatype='money'></field> 
+        </fields> 
+        <links> 
+            <link field='id' reltype='has_a' class='circ' key='id' map=''></link> 
+            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+            <link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+        </links> 
+    </class> 
+ 
+    <class reporter:label='Open Circulation Balance by Circulating Library and Owning Library' oils_persist:tablename='money.open_balance_by_circ_and_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_balance_by_circ_and_owning_lib' controller='open-ils.reporter-store' id='rmobbcol'> 
+        <fields oils_persist:primary='circ_lib'> 
+            <field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Billing Types' name='billing_types' reporter:datatype='text'></field> 
+            <field reporter:label='Balance' name='balance' reporter:datatype='money'></field> 
+        </fields> 
+        <links> 
+            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+            <link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+        </links> 
+    </class> 
+ 
+    <class reporter:label='Open Circulation Billing by User Home Library and Owning Library' oils_persist:tablename='money.open_circ_balance_by_usr_home_and_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_circ_balance_by_usr_home_and_owning_lib' controller='open-ils.reporter-store' id='rmocbbhol'> 
+        <fields oils_persist:primary='id'> 
+            <field reporter:label='Circulation ID' name='id' reporter:datatype='link'></field> 
+            <field reporter:label='User Home Library' name='home_ou' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Billing Type' name='billing_type' reporter:datatype='text'></field> 
+            <field reporter:label='Total Billed' name='billed' reporter:datatype='money'></field> 
+        </fields> 
+        <links> 
+            <link field='id' reltype='has_a' class='circ' key='id' map=''></link> 
+            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+            <link field='home_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+        </links> 
+    </class> 
+ 
+    <class reporter:label='Open Circulation Balance by User Home Library and Owning Library' oils_persist:tablename='money.open_balance_by_usr_home_and_owning_lib' reporter:core='true' oils_obj:fieldmapper='reporter::money::open_balance_by_usr_home_and_owning_lib' controller='open-ils.reporter-store' id='rmobbhol'> 
+        <fields oils_persist:primary='home_ou'> 
+            <field reporter:label='User Home Library' name='home_ou' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field> 
+            <field reporter:label='Billing Types' name='billing_types' reporter:datatype='text'></field> 
+            <field reporter:label='Balance' name='balance' reporter:datatype='money'></field> 
+        </fields> 
+        <links> 
+            <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link> 
+            <link field='home_ou' reltype='has_a' class='aou' key='id' map=''></link> 
+        </links> 
+    </class> 
+	<class oils_obj:fieldmapper='acq::fund_tag' reporter:label='Fund Tag' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.fund_tag' id='acqft'> 
+		<fields oils_persist:sequence='acq.fund_tag_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Fund Tag ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Fund Tag Owner' name='owner' reporter:datatype='org_unit'></field> 
+			<field reporter:label='Fund Tag Name' name='name' reporter:datatype='text'></field> 
+			<field reporter:label='Map Entries' name='map_entries' reporter:datatype='link' oils_persist:virtual='true'></field> 
+		</fields> 
+		<links> 
+			<link field='owner' reltype='has_a' class='aou' key='id' map=''></link> 
+			<link field='map_entries' reltype='has_many' class='acqftm' key='fund' map=''></link> 
+		</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+			<actions> 
+				<create context_field='owner' permission='ADMIN_ACQ_FUND_TAG'></create> 
+				<retrieve context_field='owner' permission='ADMIN_ACQ_FUND_TAG ADMIN_ACQ_FUND VIEW_FUND MANAGE_FUND'></retrieve> 
+				<update context_field='owner' permission='ADMIN_ACQ_FUND_TAG'></update> 
+			<delete context_field='owner' permission='ADMIN_ACQ_FUND_TAG'></delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+	<class oils_obj:fieldmapper='acq::fund_tag_map' reporter:label='Fund Tag Map' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='acq.fund_tag_map' id='acqftm'> 
+		<fields oils_persist:sequence='acq.fund_tag_map_id_seq' oils_persist:primary='id'> 
+			<field reporter:label='Map Entry ID' name='id' reporter:datatype='id'></field> 
+			<field reporter:label='Fund ID' name='fund' reporter:datatype='link'></field> 
+			<field reporter:label='Tag ID' name='tag' reporter:datatype='link'></field> 
+		</fields> 
+		<links> 
+			<link field='fund' reltype='has_a' class='acqf' key='id' map=''></link> 
+			<link field='tag' reltype='has_a' class='acqft' key='id' map=''></link> 
+			</links> 
+		<permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'> 
+    		<actions> 
+				<create permission='ADMIN_ACQ_FUND_TAG'> 
+					<context field='owner' link='tag'></context> 
+				</create> 
+				<retrieve permission='ADMIN_ACQ_FUND_TAG ADMIN_ACQ_FUND VIEW_FUND MANAGE_FUND'> 
+					<context field='owner' link='tag'></context> 
+				</retrieve> 
+				<update permission='ADMIN_ACQ_FUND_TAG'> 
+					<context field='owner' link='tag'></context> 
+				</update> 
+				<delete permission='ADMIN_ACQ_FUND_TAG'> 
+					<context field='owner' link='tag'></context> 
+				</delete> 
+			</actions> 
+		</permacrud> 
+	</class> 
+ 
 	
-
+ 
 </IDL>
\ No newline at end of file

Modified: servres/trunk/conifer/libsystems/evergreen/support.py
===================================================================
--- servres/trunk/conifer/libsystems/evergreen/support.py	2010-10-14 02:28:43 UTC (rev 1037)
+++ servres/trunk/conifer/libsystems/evergreen/support.py	2010-10-14 02:28:47 UTC (rev 1038)
@@ -22,9 +22,11 @@
         fields_for_class.update(dict(_fields()))
 
 def _fields():
-    return
-    fm_IDL_location = BASE + 'reports/fm_IDL.xml'
-    tree = ElementTree.parse(urllib2.urlopen(fm_IDL_location))
+    fm_idl_file = os.path.join(os.path.dirname(__file__), 'fm_IDL.xml')
+    with open(fm_idl_file) as f:
+        tree = ElementTree.parse(f)
+    # fm_IDL_location = BASE + 'reports/fm_IDL.xml'
+    # tree = ElementTree.parse(urllib2.urlopen(fm_IDL_location))
     NS = '{http://opensrf.org/spec/IDL/base/v1}'
     for c in tree.findall('%sclass' % NS):
         cid = c.attrib['id']



More information about the open-ils-commits mailing list