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

svn at svn.open-ils.org svn at svn.open-ils.org
Mon Aug 16 18:57:24 EDT 2010


Author: gfawcett
Date: 2010-08-16 18:57:24 -0400 (Mon, 16 Aug 2010)
New Revision: 961

Modified:
   servres/trunk/conifer/libsystems/evergreen/fm_IDL.xml
Log:
updated local copy of fm_IDL.xml (for development only)

Modified: servres/trunk/conifer/libsystems/evergreen/fm_IDL.xml
===================================================================
--- servres/trunk/conifer/libsystems/evergreen/fm_IDL.xml	2010-08-16 22:56:30 UTC (rev 960)
+++ servres/trunk/conifer/libsystems/evergreen/fm_IDL.xml	2010-08-16 22:57:24 UTC (rev 961)
@@ -1,8 +1,5064 @@
-HTTP/1.1 200 OK
-Date: Tue, 13 Jul 2010 20:42:08 GMT
-Server: Apache/2.2.9 (Debian) mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0
-Accept-Ranges: bytes
-Cache-Control: max-age=2592000
-Expires: Thu, 12 Aug 2010 20:42:08 GMT
-Content-Type: text/xml; charset=utf-8
-
+<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='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_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>
+                <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>
+        
+	<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 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>
+
+	
+
+</IDL>
\ No newline at end of file



More information about the open-ils-commits mailing list