[open-ils-commits] r185 - in conifer: branches branches/rel_1_4 branches/rel_1_4/conf trunk/tools (dbs)

svn at svn.open-ils.org svn at svn.open-ils.org
Sun Mar 15 15:50:31 EDT 2009


Author: dbs
Date: 2009-03-15 15:50:27 -0400 (Sun, 15 Mar 2009)
New Revision: 185

Added:
   conifer/branches/rel_1_4/
   conifer/branches/rel_1_4/conf/
   conifer/branches/rel_1_4/conf/fm_IDL.xml
Modified:
   conifer/trunk/tools/patch_conifer.sh
Log:
Distinguish between rel_1_4 and trunk IDL

Added: conifer/branches/rel_1_4/conf/fm_IDL.xml
===================================================================
--- conifer/branches/rel_1_4/conf/fm_IDL.xml	                        (rev 0)
+++ conifer/branches/rel_1_4/conf/fm_IDL.xml	2009-03-15 19:50:27 UTC (rev 185)
@@ -0,0 +1,4134 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+
+Copyright (C) 2006-2008 Georgia Public Library Service
+Copyright (C) 2008 Equinox Software, Inc
+Author: Mike Rylander <miker at esilibrary.com>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+
+-->
+
+<IDL xmlns="http://opensrf.org/spec/IDL/base/v1" xmlns:oils_persist="http://open-ils.org/spec/opensrf/IDL/persistence/v1" xmlns:oils_obj="http://open-ils.org/spec/opensrf/IDL/objects/v1" xmlns:reporter="http://open-ils.org/spec/opensrf/IDL/reporter/v1" xmlns:permacrud="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+
+	<!-- Virtual classes -->
+	<class id="mups" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_payment_summary" oils_persist:virtual="true">
+		<fields>
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="usr" oils_obj:array_position="3" oils_persist:virtual="true" />
+			<field name="forgive_payment" oils_obj:array_position="4" oils_persist:virtual="true" />
+			<field name="work_payment" oils_obj:array_position="5" oils_persist:virtual="true" />
+			<field name="credit_payment" oils_obj:array_position="6" oils_persist:virtual="true" />
+			<field name="goods_payment" oils_obj:array_position="7" oils_persist:virtual="true" />
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+
+	<class id="mwps" controller="open-ils.cstore" oils_obj:fieldmapper="money::workstation_payment_summary" oils_persist:virtual="true">
+		<fields>
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="workstation" oils_obj:array_position="3" oils_persist:virtual="true" />
+			<field name="cash_payment" oils_obj:array_position="4" oils_persist:virtual="true" />
+			<field name="check_payment" oils_obj:array_position="5" oils_persist:virtual="true" />
+			<field name="credit_card_payment" oils_obj:array_position="6" oils_persist:virtual="true" />
+		</fields>
+		<links>
+			<link field="workstation" reltype="has_a" key="id" map="" class="aws"/>
+		</links>
+	</class>
+
+	<class id="brn" controller="open-ils.cstore" oils_obj:fieldmapper="biblio::record_node" oils_persist:virtual="true">
+		<fields>
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="true" />
+			<field name="children" oils_obj:array_position="3" oils_persist:virtual="true" />
+			<field name="owner_doc" oils_obj:array_position="9" oils_persist:virtual="true" />
+			<field name="intra_doc_id" oils_obj:array_position="5" oils_persist:virtual="true" />
+			<field name="parent_node" oils_obj:array_position="10" oils_persist:virtual="true" />
+			<field name="node_type" oils_obj:array_position="8" oils_persist:virtual="true" />
+			<field name="namespace_uri" oils_obj:array_position="7" oils_persist:virtual="true" />
+			<field name="name" oils_obj:array_position="6" oils_persist:virtual="true" />
+			<field name="value" oils_obj:array_position="11" oils_persist:virtual="true" />
+		</fields>
+	</class>
+
+	<class id="mvr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::virtual_record" oils_persist:virtual="true">
+		<fields>
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="title" oils_obj:array_position="19" oils_persist:virtual="true" />
+			<field name="author" oils_obj:array_position="3" oils_persist:virtual="true" />
+			<field name="doc_id" oils_obj:array_position="6" oils_persist:virtual="true" />
+			<field name="doc_type" oils_obj:array_position="7" oils_persist:virtual="true" />
+			<field name="pubdate" oils_obj:array_position="12" oils_persist:virtual="true" />
+			<field name="isbn" oils_obj:array_position="9" oils_persist:virtual="true" />
+			<field name="publisher" oils_obj:array_position="13" oils_persist:virtual="true" />
+			<field name="tcn" oils_obj:array_position="18" oils_persist:virtual="true" />
+			<field name="subject" oils_obj:array_position="16" oils_persist:virtual="true" />
+			<field name="types_of_resource" oils_obj:array_position="21" oils_persist:virtual="true" />
+			<field name="call_numbers" oils_obj:array_position="4" oils_persist:virtual="true" />
+			<field name="edition" oils_obj:array_position="8" oils_persist:virtual="true" />
+			<field name="online_loc" oils_obj:array_position="10" oils_persist:virtual="true" />
+			<field name="synopsis" oils_obj:array_position="17" oils_persist:virtual="true" />
+			<field name="physical_description" oils_obj:array_position="11" oils_persist:virtual="true" />
+			<field name="toc" oils_obj:array_position="20" oils_persist:virtual="true" />
+			<field name="copy_count" oils_obj:array_position="5" oils_persist:virtual="true" />
+			<field name="series" oils_obj:array_position="15" oils_persist:virtual="true" />
+			<field name="serials" oils_obj:array_position="14" oils_persist:virtual="true" />
+			<field name="performer_notes" oils_obj:array_position="22" oils_persist:virtual="true" />
+			<field name="extent" oils_obj:array_position="23" oils_persist:virtual="true" />
+		</fields>
+	</class>
+
+	<class id="ex" controller="open-ils.cstore" oils_obj:fieldmapper="ex" oils_persist:virtual="true">
+		<fields>
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="err_msg" oils_obj:array_position="3" oils_persist:virtual="true" />
+			<field name="type" oils_obj:array_position="4" oils_persist:virtual="true" />
+		</fields>
+	</class>
+
+	<class id="perm_ex" controller="open-ils.cstore" oils_obj:fieldmapper="perm_ex" oils_persist:virtual="true">
+		<fields>
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="err_msg" oils_obj:array_position="3" oils_persist:virtual="true" />
+			<field name="type" oils_obj:array_position="4" oils_persist:virtual="true" />
+		</fields>
+	</class>
+
+	<class id="amtr" controller="open-ils.cstore" oils_obj:fieldmapper="action::matrix_test_result" oils_persist:virtual="true">
+		<fields oils_persist:primary="matchpoint">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Matchpoint ID" name="matchpoint" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Success" name="success" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Failure Part" name="fail_part" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
+		</links>
+	</class>
+
+
+	<!-- Actually in the DB -->
+	<class id="vibtf" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::import_bib_trash_fields" oils_persist:tablename="vandelay.import_bib_trash_fields" reporter:label="Import/Overlay Fields for Removal">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.import_bib_trash_fields_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Field ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Field" name="field" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_IMPORT_TRASH_FIELD" context_field="owner"/>
+				<retrieve permission="CREATE_IMPORT_TRASH_FIELD|UPDATE_IMPORT_TRASH_FIELD|DELETE_IMPORT_TRASH_FIELD" context_field="owner"/>
+				<update permission="UPDATE_IMPORT_TRASH_FIELD" context_field="owner"/>
+				<delete permission="DELETE_IMPORT_TRASH_FIELD" context_field="owner"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vii" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::import_item" oils_persist:tablename="vandelay.import_item" reporter:label="Import Item Attribute Definition">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.import_item_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Import Item ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Import Record" name="record" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Attribute Definition" name="definition" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Call Number" name="call_number" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Copy Number" name="copy_number" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Status" name="status" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Shelving Location" name="location" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Circulate" name="circulate" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Deposit" name="deposit" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Deposit Amount" name="deposit_amount" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field reporter:label="Reference" name="ref" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Holdable" name="holdable" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Price" name="price" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field reporter:label="Barcode" name="barcode" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Circulation Modifier" name="circ_modifier" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Circulate As MARC Type" name="circ_as_type" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Alert Message" name="alert_message" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Public Note" name="pub_note" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Private Note" name="priv_note" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="OPAC Visible" name="opac_visible" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="record" reltype="has_a" key="id" map="" class="vqbr"/>
+			<link field="definition" reltype="has_a" key="id" map="" class="viiad"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_IMPORT_ITEM">
+                    <context link="definition" field="owner"/>
+				</create>
+				<retrieve permission="CREATE_IMPORT_ITEM|UPDATE_IMPORT_ITEM|DELETE_IMPORT_ITEM">
+                    <context link="definition" field="owner"/>
+				</retrieve>
+				<update permission="UPDATE_IMPORT_ITEM">
+                    <context link="definition" field="owner"/>
+				</update>
+				<delete permission="DELETE_IMPORT_ITEM">
+                    <context link="definition" field="owner"/>
+				</delete>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="viiad" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::import_item_attr_definition" oils_persist:tablename="vandelay.import_item_attr_definition" reporter:label="Import Item Attribute Definition">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.import_item_attr_definition_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Definition ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Name" name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Tag" name="tag" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Keep" name="keep" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Call Number" name="call_number" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Status" name="status" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Shelving Location" name="location" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Circulate" name="circulate" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Deposit" name="deposit" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Deposit Amount" name="deposit_amount" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Reference" name="ref" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Holdable" name="holdable" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Price" name="price" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Barcode" name="barcode" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Circulation Modifier" name="circ_modifier" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Circulate As MARC Type" name="circ_as_type" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Alert Message" name="alert_message" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Public Note" name="pub_note" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Private Note" name="priv_note" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="OPAC Visible" name="opac_visible" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Copy Number" name="copy_number" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
+				<retrieve permission="CREATE_IMPORT_ITEM_ATTR_DEF|UPDATE_IMPORT_ITEM_ATTR_DEF|DELETE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
+				<update permission="UPDATE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
+				<delete permission="DELETE_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vbq" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::bib_queue" oils_persist:tablename="vandelay.bib_queue" reporter:label="Import/Overlay Bib Queue">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.queue_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Queue ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Name" name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Complete" name="complete" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Type" name="queue_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<retrieve permission="CREATE_BIB_IMPORT_QUEUE|UPDATE_BIB_IMPORT_QUEUE|DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vqbr" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::queued_bib_record" oils_persist:tablename="vandelay.queued_bib_record" reporter:label="Queued Bib Record">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_record_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Record ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Create Time" name="create_time" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Import Time" name="import_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="MARC" name="marc" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Queue" name="queue" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Bib Source" name="bib_source" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Final Target Record" name="imported_as" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Purpose" name="purpose" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Attributes" name="attributes" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="text"/>
+			<field reporter:label="Matches" name="matches" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="queue" reltype="has_a" key="id" map="" class="vbq"/>
+			<link field="bib_source" reltype="has_a" key="id" map="" class="cbs"/>
+			<link field="imported_as" reltype="has_a" key="id" map="" class="bre"/>
+            <link field="attributes" reltype="has_many" key="record" map="" class="vqbra"/>
+            <link field="matches" reltype="has_many" key="queued_record" map="" class="vbm"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<retrieve permission="CREATE_BIB_IMPORT_QUEUE|UPDATE_BIB_IMPORT_QUEUE|DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vqbrad" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::bib_attr_definition" oils_persist:tablename="vandelay.bib_attr_definition" reporter:label="Queued Bib Record Attribute Definition">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.bib_attr_definition_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Code" name="code" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Description" name="description" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="XPath" name="xpath" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Remove RegExp" name="remove" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Is Identifier?" name="ident" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links/>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_BIB_IMPORT_FIELD_DEF" global_required="true"/>
+                <retrieve/>
+                <!--
+				<retrieve permission="CREATE_BIB_IMPORT_IMPORT_FIELD_DEF|UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF|DELETE_BIB_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
+                -->
+				<update permission="UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
+				<delete permission="DELETE_BIB_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vqbra" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::queued_bib_record_attr" oils_persist:tablename="vandelay.queued_bib_record_attr" reporter:label="Queued Bib Record Attribute">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_bib_record_attr_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Attribute ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Record" name="record" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Field" name="field" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Value" name="attr_value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="record" reltype="has_a" key="id" map="" class="vqbr"/>
+			<link field="field" reltype="has_a" key="id" map="" class="vqbrad"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<retrieve permission="CREATE_BIB_IMPORT_QUEUE|UPDATE_BIB_IMPORT_QUEUE|DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vbm" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::bib_match" oils_persist:tablename="vandelay.bib_match" reporter:label="Queued Bib Record Match">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.bib_match_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Match ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Queued Record" name="queued_record" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Matched Attribute" name="matched_attr" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Evergreen Record" name="eg_record" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Field Type" name="field_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="queued_record" reltype="has_a" key="id" map="" class="vqbr"/>
+			<link field="eg_record" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="matched_attr" reltype="has_a" key="id" map="" class="vqbra"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<retrieve permission="CREATE_BIB_IMPORT_QUEUE|UPDATE_BIB_IMPORT_QUEUE|DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
+				<delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vaq" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::authority_queue" oils_persist:tablename="vandelay.authority_queue" reporter:label="Import/Overlay Authority Queue">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.queue_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Queue ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Name" name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Complete" name="complete" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Type" name="queue_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE|UPDATE_AUTHORITY_IMPORT_QUEUE|DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vqar" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::queued_authority_record" oils_persist:tablename="vandelay.queued_authority_record" reporter:label="Queued Authority Record">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_record_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Record ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Create Time" name="create_time" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Import Time" name="import_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="MARC" name="marc" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Queue" name="queue" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Final Target Record" name="imported_as" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Purpose" name="purpose" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Attributes" name="attributes" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="text"/>
+			<field reporter:label="Matches" name="matches" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="queue" reltype="has_a" key="id" map="" class="vaq"/>
+			<link field="imported_as" reltype="has_a" key="id" map="" class="are"/>
+            <link field="attributes" reltype="has_many" key="record" map="" class="vqara"/>
+            <link field="matches" reltype="has_many" key="queued_record" map="" class="vam"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE|UPDATE_AUTHORITY_IMPORT_QUEUE|DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vqarad" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::authority_attr_definition" oils_persist:tablename="vandelay.authority_attr_definition" reporter:label="Queued Authority Record Attribute Definition">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.authority_attr_definition_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Code" name="code" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Description" name="description" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="XPath" name="xpath" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Remove RegExp" name="remove" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Is Identifier?" name="ident" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links/>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
+                <retrieve/>
+                <!--
+				<retrieve permission="CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF|UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF|DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
+                -->
+				<update permission="UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
+				<delete permission="DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vqara" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::queued_authority_record_attr" oils_persist:tablename="vandelay.queued_authority_record_attr" reporter:label="Queued Authority Record Attribute">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_authority_record_attr_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Attribute ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Record" name="record" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Field" name="field" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Value" name="attr_value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="record" reltype="has_a" key="id" map="" class="vaqr"/>
+			<link field="field" reltype="has_a" key="id" map="" class="vqarad"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE|UPDATE_AUTHORITY_IMPORT_QUEUE|DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
+	<class id="vam" controller="open-ils.cstore" oils_obj:fieldmapper="vandelay::authority_match" oils_persist:tablename="vandelay.authority_match" reporter:label="Queued Authority Record Match">
+		<fields oils_persist:primary="id" oils_persist:sequence="vandelay.authority_match_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Match ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Queued Record" name="queued_record" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Matched Attribute" name="matched_attr" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Evergreen Record" name="eg_record" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="queued_record" reltype="has_a" key="id" map="" class="vqbr"/>
+			<link field="eg_record" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="matched_attr" reltype="has_a" key="id" map="" class="vqbra"/>
+		</links>
+		<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+			<actions>
+				<create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE|UPDATE_AUTHORITY_IMPORT_QUEUE|DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+				<delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
+			</actions>
+		</permacrud>
+	</class>
+
+
+	<class id="auoi" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_org_unit_opt_in" oils_persist:tablename="actor.usr_org_unit_opt_in" reporter:label="User Sharing Opt-in">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.usr_org_unit_opt_in_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Opt-in ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Workstation" name="opt_in_ws" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Staff Member" name="staff" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="User" name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Allowed Org Unit" name="org_unit" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Opt-in Date/Time" name="opt_in_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+		</fields>
+		<links>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="opt_in_ws" reltype="has_a" key="id" map="" class="aws"/>
+		</links>
+	</class>
+
+    <class id="czs" controller="open-ils.cstore" oils_obj:fieldmapper="config::z3950_source" oils_persist:tablename="config.z3950_source" reporter:label="Z39.50 Source">
+        <fields oils_persist:primary="name">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="Z39.50 Source" name="name" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+            <field reporter:label="Label" name="label" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+            <field reporter:label="Host" name="host" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text"/>
+            <field reporter:label="Port" name="port" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="int"/>
+            <field reporter:label="DB" name="db" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="text"/>
+            <field reporter:label="Record Format" name="record_format" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text"/>
+            <field reporter:label="Transmission Format" name="transmission_format" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
+            <field reporter:label="Auth" name="auth" oils_obj:array_position="10" oils_persist:virtual="false"  reporter:datatype="bool"/>
+            <field reporter:label="Attrs" name="attrs" oils_obj:array_position="11" oils_persist:virtual="true"  reporter:datatype="link"/>
+        </fields>
+        <links>
+            <link field="attrs" reltype="has_many" key="source" map="" class="cza"/>
+        </links>
+    </class>
+
+    <class id="cza" controller="open-ils.cstore" oils_obj:fieldmapper="config::z3950_attr" oils_persist:tablename="config.z3950_attr" reporter:label="Z39.50 Attribute">
+        <fields oils_persist:primary="id" oils_persist:sequence="config.z3950_attr_id_seq">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="Z39.50 Attr ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+            <field reporter:label="Z39.50 Source" name="source" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+            <field reporter:label="Name" name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Label" name="label" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+            <field reporter:label="Code" name="code" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="int"/>
+            <field reporter:label="Format" name="format" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="int"/>
+            <field reporter:label="Truncation" name="truncation" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="int"/>
+        </fields>
+        <links>
+            <link field="source" reltype="has_a" key="name" map="" class="czs"/>
+        </links>
+    </class>
+
+	<class id="aws" controller="open-ils.cstore" oils_obj:fieldmapper="actor::workstation" oils_persist:tablename="actor.workstation" reporter:label="Workstation">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.workstation_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Workstation ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Workstation Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+		</fields>
+		<links>
+			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+
+	<class id="ccm" controller="open-ils.cstore" oils_obj:fieldmapper="config::circ_modifier" oils_persist:tablename="config.circ_modifier" reporter:label="Circulation Modifier">
+		<fields oils_persist:primary="code">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Description" name="description" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="SIP2 Media Type" name="sip2_media_type" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Magnetic Media" name="magnetic_media" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_CIRC_MOD" context_field="parent_ou"/>
+                <retrieve/>
+                <update permission="UPDATE_CIRC_MOD" context_field="parent_ou"/>
+                <delete permission="DELETE_CIRC_MOD" context_field="parent_ou"/>
+            </actions>
+        </permacrud>
+	</class>
+
+	<class id="cvrfm" controller="open-ils.cstore" oils_obj:fieldmapper="config::videorecording_format_map" oils_persist:tablename="config.videorecording_format_map" reporter:label="Videorecording Format" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Format" name="value" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_MARC_CODE" global_required="true"/>
+                <retrieve permission="CREATE_MARC_CODE|UPDATE_MARC_CODE|DELETE_MARC_CODE" global_required="true"/>
+                <update permission="UPDATE_MARC_CODE" global_required="true"/>
+                <delete permission="DELETE_MARC_CODE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+
+	<class id="chmm" controller="open-ils.cstore" oils_obj:fieldmapper="config::hold_matrix_matchpoint" oils_persist:tablename="config.hold_matrix_matchpoint" reporter:label="Hold Matrix Matchpoint">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.hold_matrix_matchpoint_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Matchpoint ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Active?" name="active" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="User Home Library" name="user_home_ou" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Request Library" name="request_ou" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Pickup Library" name="pickup_ou" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Owning Library" name="item_owning_ou" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Item Circ Library" name="item_circ_ou" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="User Permission Group" name="usr_grp" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Requestor Permission Group" name="requestor_grp" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Circulation Modifier" name="circ_modifier" oils_obj:array_position="12" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
+			<field reporter:label="MARC Type" name="marc_type" oils_obj:array_position="13" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
+			<field reporter:label="MARC Form" name="marc_form" oils_obj:array_position="14" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
+			<field reporter:label="Videorecording Format" name="marc_vr_format" oils_obj:array_position="15" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
+			<field reporter:label="Reference?" name="ref_flag" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="user_home_ou" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="request_ou" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="pickup_ou" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="item_owning_ou" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="item_circ_ou" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="usr_grp" reltype="has_a" key="id" map="" class="pgt"/>
+			<link field="requestor_grp" reltype="has_a" key="id" map="" class="pgt"/>
+			<link field="circ_modifier" reltype="has_a" key="id" map="" class="ccm"/>
+			<link field="marc_type" reltype="has_a" key="id" map="" class="ccm"/>
+			<link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
+			<link field="marc_form" reltype="has_a" key="code" map="" class="cifm"/>
+			<link field="marc_vr_format" reltype="has_a" key="code" map="" class="cvrfm"/>
+		</links>
+	</class>
+
+	<class id="ccmm" controller="open-ils.cstore" oils_obj:fieldmapper="config::circ_matrix_matchpoint" oils_persist:tablename="config.circ_matrix_matchpoint" reporter:label="Circulation Matrix Matchpoint">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_matchpoint_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Matchpoint ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Active?" name="active" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Org Unit" name="org_unit" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Permission Group" name="grp" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Circulation Modifier" name="circ_modifier" oils_obj:array_position="7" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
+			<field reporter:label="MARC Type" name="marc_type" oils_obj:array_position="8" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
+			<field reporter:label="MARC Form" name="marc_form" oils_obj:array_position="9" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
+			<field reporter:label="Videorecording Format" name="marc_vr_format" oils_obj:array_position="10" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
+			<field reporter:label="Reference?" name="ref_flag" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="User Age: Lower Bound" name="usr_age_lower_bound" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="User Age: Upper Bound" name="usr_age_upper_bound" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
+			<link field="circ_modifier" reltype="has_a" key="id" map="" class="ccm"/>
+			<link field="marc_type" reltype="has_a" key="id" map="" class="ccm"/>
+			<link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
+			<link field="marc_form" reltype="has_a" key="code" map="" class="cifm"/>
+			<link field="marc_vr_format" reltype="has_a" key="code" map="" class="cvrfm"/>
+		</links>
+	</class>
+
+	<class id="chmt" controller="open-ils.cstore" oils_obj:fieldmapper="config::hold_matrix_test" oils_persist:tablename="config.hold_matrix_test" reporter:label="Hold Matrix Test Set">
+		<fields oils_persist:primary="matchpoint">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Matchpoint ID" name="matchpoint" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Holdable?" name="holdable" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Range is from Owning Lib?" name="distance_is_from_owner" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Transit Range" name="transit_range" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Max Holds" name="max_holds" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Max includes Frozen" name="include_frozen_holds" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Copy Age Hold Protection Rule" name="age_hold_protect_rule" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
+			<link field="age_hold_protect_rule" reltype="has_a" key="id" map="" class="crahp"/>
+		</links>
+	</class>
+
+	<class id="ccmt" controller="open-ils.cstore" oils_obj:fieldmapper="config::circ_matrix_test" oils_persist:tablename="config.circ_matrix_test" reporter:label="Circulation Matrix Test Set">
+		<fields oils_persist:primary="matchpoint">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Matchpoint ID" name="matchpoint" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Circulate?" name="circulate" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Max Items Out" name="max_items_out" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Max Overdue" name="max_overdue" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Max Fines" name="max_fines" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field reporter:label="Test Script" name="script_test" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Test Context Location" name="org_unit" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="int"/>
+		</fields>
+		<links>
+			<link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
+		</links>
+	</class>
+
+	<class id="ccmcmt" controller="open-ils.cstore" oils_obj:fieldmapper="config::circ_matrix_circ_mod_test" oils_persist:tablename="config.circ_matrix_circ_mod_test" reporter:label="Circulation Matrix Circulation Modifier Subtest">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_circ_mod_test_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Test ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Matchpoint ID" name="matchpoint" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Items Out" name="items_out" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Circulation Modifier" name="circ_mod" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
+			<link field="circ_mod" reltype="has_a" key="id" map="" class="ccm"/>
+		</links>
+	</class>
+
+	<class id="ccmrs" controller="open-ils.cstore" oils_obj:fieldmapper="config::circ_matrix_ruleset" oils_persist:tablename="config.circ_matrix_ruleset" reporter:label="Circulation Matrix Rule Set">
+		<fields oils_persist:primary="matchpoint">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Matchpoint ID" name="matchpoint" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Duration Rule" name="duration_rule" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Max Fine Rule" name="max_fine_rule" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
+			<link field="duration_rule" reltype="has_a" key="id" map="" class="crcd"/>
+			<link field="max_fine_rule" reltype="has_a" key="id" map="" class="crmf"/>
+			<link field="recurring_fine_rule" reltype="has_a" key="id" map="" class="crrf"/>
+		</links>
+	</class>
+
+	<class id="cit" controller="open-ils.cstore" oils_obj:fieldmapper="config::identification_type" oils_persist:tablename="config.identification_type" reporter:label="Identification Type">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.identification_type_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Identification ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Identification Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+	</class>
+
+	<class id="asvq" controller="open-ils.cstore" oils_obj:fieldmapper="action::survey_question" oils_persist:tablename="action.survey_question" reporter:label="User Survey Question">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.survey_question_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Answers" name="answers" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Responses" name="responses" oils_obj:array_position="4" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Question ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Question" name="question" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Survey" name="survey" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="survey" reltype="has_a" key="id" map="" class="asv"/>
+			<link field="responses" reltype="has_many" key="question" map="" class="asvr"/>
+			<link field="answers" reltype="has_many" key="question" map="" class="asva"/>
+		</links>
+	</class>
+	<class id="mbts" controller="open-ils.cstore" oils_obj:fieldmapper="money::billable_transaction_summary" oils_persist:tablename="money.billable_xact_summary" reporter:label="Billable Transaction Summary">
+		<fields oils_persist:primary="id" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Balance Owed" name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field reporter:label="Transaction ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Last Billing Note" name="last_billing_note" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Last Billing Timestamp" name="last_billing_ts" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Billing Type" name="last_billing_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Last Payment Note" name="last_payment_note" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Last Payment Timestamp" name="last_payment_ts" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Payment Type" name="last_payment_type" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Total Owed" name="total_owed" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field reporter:label="Total Paid" name="total_paid" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field reporter:label="Billed User" name="usr" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Transaction Finish Time" name="xact_finish" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Transaction Start Time" name="xact_start" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Transaction Type" name="xact_type" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="aun" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_note" oils_persist:tablename="actor.usr_note" reporter:label="User Note">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.usr_note_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Creation Date/Time" name="create_date" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Creating Staff" name="creator" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Note ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Is OPAC Visible?" name="pub" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Note Title" name="title" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="User" name="usr" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link" />
+			<field reporter:label="Note Content" name="value" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="aus" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_setting" oils_persist:tablename="actor.usr_setting" reporter:label="User Setting">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.usr_setting_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Setting ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="User" name="usr" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Value" name="value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="mafe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::author_field_entry" oils_persist:tablename="metabib.author_field_entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.author_field_entry_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="field" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="source" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+		</links>
+	</class>
+	<class id="aihu" controller="open-ils.cstore" oils_obj:fieldmapper="action::in_house_use" oils_persist:tablename="action.in_house_use" reporter:core="true" reporter:label="In House Use">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.in_house_use_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Use ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Item" name="item" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Using Library" name="org_unit" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Recording Staff" name="staff" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Use Date/Time" name="use_time" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+		</fields>
+		<links>
+			<link field="item" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="ancihu" controller="open-ils.cstore" oils_obj:fieldmapper="action::non_cat_in_house_use" oils_persist:tablename="action.non_cat_in_house_use" reporter:core="true" reporter:label="Non-cataloged In House Use">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.non_cat_in_house_use_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Use ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Item Type" name="item_type" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Using Library" name="org_unit" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Recording Staff" name="staff" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Use Date/Time" name="use_time" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+		</fields>
+		<links>
+			<link field="item_type" reltype="has_a" key="id" map="" class="cnct"/>
+			<link field="staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="atc" controller="open-ils.cstore" oils_obj:fieldmapper="action::transit_copy" oils_persist:tablename="action.transit_copy" reporter:core="true" reporter:label="Copy Transit">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.transit_copy_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Pretransit Copy Status" name="copy_status" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Destination" name="dest" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Receive Date/Time" name="dest_recv_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transit ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Is Persistent? (unused)" name="persistant_transfer" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Previous Hop (unused)" name="prev_hop" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Source" name="source" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Send Date/Time" name="source_send_time" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transited Copy" name="target_copy" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Hold Transit" name="hold_transit_copy" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="hold_transit_copy" reltype="might_have" key="id" map="" class="ahtc"/>
+			<link field="source" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
+			<link field="dest" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="TRANSIT_COPY"/>
+                <retrieve/>
+                <update permission="UPDATE_TRANSIT" context_field="dest|source"/>
+                <delete permission="DELETE_TRANSIT" context_field="dest|source"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="asvr" controller="open-ils.cstore" oils_obj:fieldmapper="action::survey_response" oils_persist:tablename="action.survey_response" reporter:label="Survey Response">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.survey_response_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Answer" name="answer" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Answer Date/Time" name="answer_date" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Effective Answer Date/Time" name="effective_date" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Answer ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Question" name="question" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Response Group ID" name="response_group_id" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Survey" name="survey" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Responding User" name="usr" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="question" reltype="has_a" key="id" map="" class="asvq"/>
+			<link field="survey" reltype="has_a" key="id" map="" class="asv"/>
+			<link field="answer" reltype="has_a" key="id" map="" class="asva"/>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="ccbi" controller="open-ils.cstore" oils_obj:fieldmapper="container::copy_bucket_item" oils_persist:tablename="container.copy_bucket_item">
+		<fields oils_persist:primary="id" oils_persist:sequence="container.copy_bucket_item_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="bucket" oils_obj:array_position="3" oils_persist:virtual="false" />
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="target_copy" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="create_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp" />
+		</fields>
+		<links>
+			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="bucket" reltype="has_a" key="id" map="" class="ccb"/>
+		</links>
+	</class>
+	<class id="are" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_entry" oils_persist:tablename="authority.record_entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="authority.record_entry_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="active" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="arn_source" oils_obj:array_position="4" oils_persist:virtual="false" />
+			<field name="arn_value" oils_obj:array_position="5" oils_persist:virtual="false" />
+			<field name="create_date" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="creator" oils_obj:array_position="7" oils_persist:virtual="false" />
+			<field name="deleted" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="edit_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="editor" oils_obj:array_position="10" oils_persist:virtual="false" />
+			<field name="id" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="last_xact_id" oils_obj:array_position="12" oils_persist:virtual="false" />
+			<field name="marc" oils_obj:array_position="13" oils_persist:virtual="false" />
+			<field name="source" oils_obj:array_position="14" oils_persist:virtual="false" />
+			<field name="fixed_fields" oils_obj:array_position="15" oils_persist:virtual="true" />
+			<field name="notes" oils_obj:array_position="16" oils_persist:virtual="true" />
+		</fields>
+		<links>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="notes" reltype="has_many" key="record" map="" class="arn"/>
+			<link field="fixed_fields" reltype="might_have" key="record" map="" class="ard"/>
+		</links>
+	</class>
+	<class id="ard" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_descriptor" oils_persist:tablename="authority.rec_descriptor">
+		<fields oils_persist:primary="id" oils_persist:sequence="authority.rec_descriptor_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="char_encoding" oils_obj:array_position="3" oils_persist:virtual="false" />
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" />
+			<field name="record" oils_obj:array_position="5" oils_persist:virtual="false" />
+			<field name="record_status" oils_obj:array_position="6" oils_persist:virtual="false" />
+		</fields>
+		<links>
+			<link field="record" reltype="has_a" key="id" map="" class="are"/>
+		</links>
+	</class>
+	<class id="clm" controller="open-ils.cstore" oils_obj:fieldmapper="config::language_map" oils_persist:tablename="config.language_map" reporter:label="Language Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Language Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="value" reporter:datatype="text"/>
+			<field reporter:label="Language" name="value" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_MARC_CODE" global_required="true"/>
+                <retrieve permission="CREATE_MARC_CODE|UPDATE_MARC_CODE|DELETE_MARC_CODE" global_required="true"/>
+                <update permission="UPDATE_MARC_CODE" global_required="true"/>
+                <delete permission="DELETE_MARC_CODE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="mccp" controller="open-ils.cstore" oils_obj:fieldmapper="money::credit_card_payment" oils_persist:tablename="money.credit_card_payment">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" />
+			<field name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="approval_code" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="cash_drawer" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="cc_number" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="cc_type" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="expire_month" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="int" />
+			<field name="expire_year" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="int" />
+			<field name="id" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="note" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="payment_ts" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="xact" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="payment_type" oils_obj:array_position="16" oils_persist:virtual="true" reporter:datatype="text"/>
+			<field name="payment" oils_obj:array_position="17" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="payment" reltype="might_have" key="id" map="" class="mp"/>
+			<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="cxt" controller="open-ils.cstore" oils_obj:fieldmapper="config::xml_transform" oils_persist:tablename="config.xml_transform" reporter:label="XML/XSLT Transform Definition">
+		<fields oils_persist:primary="name">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="field_class" oils_obj:array_position="3" oils_persist:virtual="false" />
+			<field reporter:label="Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" />
+			<field reporter:label="Namespace URI" name="namespace_uri" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Namespace Prefix" name="prefix" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="XSLT" name="xslt" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text" />
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_XML_TRANSFORM" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_XML_TRANSFORM" global_required="true"/>
+                <delete permission="DELETE_XML_TRANSFORM" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="cmf" controller="open-ils.cstore" oils_obj:fieldmapper="config::metabib_field" oils_persist:tablename="config.metabib_field">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.metabib_field_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="field_class" oils_obj:array_position="3" oils_persist:virtual="false" />
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="xpath" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="weight" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="int" />
+			<field name="format" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="search_field" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool" />
+			<field name="facet_field" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="bool" />
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_METABIB_FIELD" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_METABIB_FIELD" global_required="true"/>
+                <delete permission="DELETE_METABIB_FIELD" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="cam" controller="open-ils.cstore" oils_obj:fieldmapper="config::audience_map" oils_persist:tablename="config.audience_map" reporter:label="Audience Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Audience Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="value" reporter:datatype="text"/>
+			<field reporter:label="Description" name="description" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true" />
+			<field reporter:label="Audience" name="value" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_MARC_CODE" global_required="true"/>
+                <retrieve permission="CREATE_MARC_CODE|UPDATE_MARC_CODE|DELETE_MARC_CODE" global_required="true"/>
+                <update permission="UPDATE_MARC_CODE" global_required="true"/>
+                <delete permission="DELETE_MARC_CODE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="cifm" controller="open-ils.cstore" oils_obj:fieldmapper="config::item_form_map" oils_persist:tablename="config.item_form_map" reporter:label="Item Form Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Item Form Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="value" reporter:datatype="text"/>
+			<field reporter:label="Item Form" name="value" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_MARC_CODE" global_required="true"/>
+                <retrieve permission="CREATE_MARC_CODE|UPDATE_MARC_CODE|DELETE_MARC_CODE" global_required="true"/>
+                <update permission="UPDATE_MARC_CODE" global_required="true"/>
+                <delete permission="DELETE_MARC_CODE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="acn" controller="open-ils.cstore" oils_obj:fieldmapper="asset::call_number" oils_persist:tablename="asset.call_number" reporter:label="Call Number/Volume">
+		<fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Copies" name="copies" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Create Date/Time" name="create_date" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Creating User" name="creator" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Is Deleted" name="deleted" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Last Edit Date/Time" name="edit_date" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Editing User" name="editor" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Call Number/Volume ID" name="id" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Call Number Label" name="label" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="11" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+			<field reporter:label="Bib Record" name="record" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Notes" name="notes" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="record" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="notes" reltype="has_many" key="call_number" map="" class="acnn"/>
+			<link field="copies" reltype="has_many" key="call_number" map="" class="acp"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_VOLUME" context_field="owning_lib"/>
+                <retrieve/>
+                <update permission="UPDATE_VOLUME" context_field="owning_lib"/>
+                <delete permission="DELETE_VOLUME" context_field="owning_lib"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="cst" controller="open-ils.cstore" oils_obj:fieldmapper="config::standing" oils_persist:tablename="config.standing">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.standing_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="value" oils_obj:array_position="4" oils_persist:virtual="false" oils_persist:i18n="true" />
+		</fields>
+		<links/>
+	</class>
+	<class id="mous" controller="open-ils.cstore" oils_obj:fieldmapper="money::open_user_summary" oils_persist:tablename="money.open_usr_summary">
+		<fields oils_persist:primary="usr" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="total_owed" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="total_paid" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links/>
+	</class>
+	<class id="mct" controller="open-ils.cstore" oils_obj:fieldmapper="money::collections_tracker" oils_persist:tablename="money.collections_tracker">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.collections_tracker_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="collector" oils_obj:array_position="3" oils_persist:virtual="false" />
+			<field name="enter_time" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="location" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="usr" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="collector" reltype="has_a" key="id" map="" class="au"/>
+			<link field="location" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="money.collections_tracker.create" context_field="location"/>
+                <retrieve/>
+                <delete permission="money.collections_tracker.create" context_field="location"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="bre" controller="open-ils.cstore" oils_obj:fieldmapper="biblio::record_entry" oils_persist:tablename="biblio.record_entry" reporter:core="true" reporter:label="Bibliographic Record">
+		<fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Call Numbers" name="call_numbers" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Fixed Field Entry" name="fixed_fields" oils_obj:array_position="4" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Is Active?" name="active" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Record Creation Date/Time" name="create_date" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Record Creator" name="creator" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Is Deleted?" name="deleted" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Last Edit Data/Time" name="edit_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Editing User" name="editor" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Fingerprint" name="fingerprint" oils_obj:array_position="11" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Record ID" name="id" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Last Transaction ID" name="last_xact_id" oils_obj:array_position="13" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="MARC21Slim" name="marc" oils_obj:array_position="14" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Overall Quality" name="quality" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Record Source" name="source" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="TCN Source" name="tcn_source" oils_obj:array_position="17" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="TCN Value" name="tcn_value" oils_obj:array_position="18" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Metarecord" name="metarecord" oils_obj:array_position="19" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Language Code" name="language" oils_obj:array_position="20" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Non-MARC Record Notes" name="notes" oils_obj:array_position="21" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Indexed Keyword Field Entries" name="keyword_field_entries" oils_obj:array_position="22" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Indexed Subject Field Entries" name="subject_field_entries" oils_obj:array_position="23" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Indexed Title Field Entries" name="title_field_entries" oils_obj:array_position="24" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Indexed Author Field Entries" name="author_field_entries" oils_obj:array_position="25" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Indexed Series Field Entries" name="series_field_entries" oils_obj:array_position="26" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Flattened MARC Fields " name="full_record_entries" oils_obj:array_position="27" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Simple Record Extracts " name="simple_record" oils_obj:array_position="28" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="simple_record" reltype="might_have" key="id" map="" class="rmsr"/>
+			<link field="metarecord" reltype="might_have" key="source" map="metarecord" class="mmrsm"/>
+			<link field="call_numbers" reltype="has_many" key="record" map="" class="acn"/>
+			<link field="keyword_field_entries" reltype="has_many" key="source" map="" class="mkfe"/>
+			<link field="fixed_fields" reltype="might_have" key="record" map="" class="mrd"/>
+			<link field="language" reltype="might_have" key="record" map="item_lang" class="mrd"/>
+			<link field="subject_field_entries" reltype="has_many" key="source" map="" class="msfe"/>
+			<link field="title_field_entries" reltype="has_many" key="source" map="" class="mtfe"/>
+			<link field="notes" reltype="has_many" key="record" map="" class="bren"/>
+			<link field="author_field_entries" reltype="has_many" key="source" map="" class="mafe"/>
+			<link field="series_field_entries" reltype="has_many" key="source" map="" class="msefe"/>
+			<link field="full_record_entries" reltype="has_many" key="record" map="" class="mfr"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_MARC|IMPORT_MARC" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_MARC" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="aouhoo" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit::hours_of_operation" oils_persist:tablename="actor.hours_of_operation">
+		<fields oils_persist:primary="id" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="dow_0_close" oils_obj:array_position="3" oils_persist:virtual="false" />
+			<field name="dow_0_open" oils_obj:array_position="4" oils_persist:virtual="false" />
+			<field name="dow_1_close" oils_obj:array_position="5" oils_persist:virtual="false" />
+			<field name="dow_1_open" oils_obj:array_position="6" oils_persist:virtual="false" />
+			<field name="dow_2_close" oils_obj:array_position="7" oils_persist:virtual="false" />
+			<field name="dow_2_open" oils_obj:array_position="8" oils_persist:virtual="false" />
+			<field name="dow_3_close" oils_obj:array_position="9" oils_persist:virtual="false" />
+			<field name="dow_3_open" oils_obj:array_position="10" oils_persist:virtual="false" />
+			<field name="dow_4_close" oils_obj:array_position="11" oils_persist:virtual="false" />
+			<field name="dow_4_open" oils_obj:array_position="12" oils_persist:virtual="false" />
+			<field name="dow_5_close" oils_obj:array_position="13" oils_persist:virtual="false" />
+			<field name="dow_5_open" oils_obj:array_position="14" oils_persist:virtual="false" />
+			<field name="dow_6_close" oils_obj:array_position="15" oils_persist:virtual="false" />
+			<field name="dow_6_open" oils_obj:array_position="16" oils_persist:virtual="false" />
+			<field name="id" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="org_unit" oils_obj:array_position="18" oils_persist:virtual="true" reporter:datatype="org_unit"/>
+		</fields>
+		<links>
+			<link field="org_unit" reltype="might_have" key="id" map="" class="aou"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_HOURS_OF_OPERATION" context_field="org_unit"/>
+                <retrieve/>
+                <update permission="UPDATE_HOURS_OF_OPERATION" context_field="org_unit"/>
+                <delete permission="DELETE_HOURS_OF_OPERATION" context_field="org_unit"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="aoucd" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit::closed_date" oils_persist:tablename="actor.org_unit_closed">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_closed_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="close_end" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field name="close_start" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="org_unit" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field name="reason" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_ORG_UNIT_CLOSING" context_field="org_unit"/>
+                <retrieve/>
+                <update permission="UPDATE_ORG_UNIT_CLOSING" context_field="org_unit"/>
+                <delete permission="DELETE_ORG_UNIT_CLOSING" context_field="org_unit"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="crcd" controller="open-ils.cstore" oils_obj:fieldmapper="config::rules::circ_duration" oils_persist:tablename="config.rule_circ_duration">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.rule_circ_duration_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="extended" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="max_renewals" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="int" />
+			<field name="name" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="normal" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field name="shrt" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="interval"/>
+		</fields>
+		<links>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_CIRC_DURATION" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_CIRC_DURATION" global_required="true"/>
+                <delete permission="DELETE_CIRC_DURATION" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="mobts" controller="open-ils.cstore" oils_obj:fieldmapper="money::open_billable_transaction_summary" oils_persist:tablename="money.open_billable_xact_summary">
+		<fields oils_persist:primary="id" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="last_billing_note" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="last_billing_ts" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="last_billing_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="last_payment_note" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="last_payment_ts" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="last_payment_type" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="total_owed" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field name="total_paid" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field name="usr" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="xact_finish" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field name="xact_start" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field name="xact_type" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="xact" oils_obj:array_position="17" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="grocery" oils_obj:array_position="18" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="circulation" oils_obj:array_position="19" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="billing_location" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="xact" reltype="might_have" key="id" map="" class="mbt"/>
+			<link field="circulation" reltype="might_have" key="id" map="" class="circ"/>
+			<link field="grocery" reltype="might_have" key="id" map="" class="mg"/>
+			<link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="au" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user" oils_persist:tablename="actor.usr" reporter:core="true" reporter:label="ILS User">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.usr_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="All Addresses" name="addresses" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="All Library Cards" name="cards" oils_obj:array_position="4" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="All Circulations" name="checkouts" oils_obj:array_position="5" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="All Hold Requests" name="hold_requests" oils_obj:array_position="6" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="All Permissions" name="permissions" oils_obj:array_position="7" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="All User Settings" name="settings" oils_obj:array_position="8" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Standing Penalties" name="standing_penalties" oils_obj:array_position="9" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Statistical Category Entries" name="stat_cat_entries" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Survey Responses" name="survey_responses" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="ws_ou" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="wsid" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Active" name="active" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Alert Message" name="alert_message" oils_obj:array_position="15" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Barred" name="barred" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Physical Address" name="billing_address" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Current Library Card" name="card" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Claims-returned Count" name="claims_returned_count" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Record Creation Date/Time" name="create_date" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="User Credit Balance" name="credit_forward_balance" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Daytime Phone" name="day_phone" oils_obj:array_position="22" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Date of Birth" name="dob" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Email Address" name="email" oils_obj:array_position="24" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Evening Phone" name="evening_phone" oils_obj:array_position="25" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Privilege Expiration Date" name="expire_date" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Name" name="family_name" oils_obj:array_position="27" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="First Name" name="first_given_name" oils_obj:array_position="28" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Home Library" name="home_ou" oils_obj:array_position="29" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="User ID" name="id" oils_obj:array_position="30" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Primary Identification Type" name="ident_type" oils_obj:array_position="31" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Secondary Identification Type" name="ident_type2" oils_obj:array_position="32" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Primary Identification" name="ident_value" oils_obj:array_position="33" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Secondary Identification" name="ident_value2" oils_obj:array_position="34" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="last_xact_id" oils_obj:array_position="35" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Mailing Address" name="mailing_address" oils_obj:array_position="36" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Is Group Lead Account" name="master_account" oils_obj:array_position="37" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Internet Access Level" name="net_access_level" oils_obj:array_position="38" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Other Phone" name="other_phone" oils_obj:array_position="39" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Password (obfuscated)" name="passwd" oils_obj:array_position="40" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Photo URL" name="photo_url" oils_obj:array_position="41" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Prefix" name="prefix" oils_obj:array_position="42" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Main (Profile) Permission Group" name="profile" oils_obj:array_position="43" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Middle Name" name="second_given_name" oils_obj:array_position="44" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Standing (unused)" name="standing" oils_obj:array_position="45" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Suffix/Title" name="suffix" oils_obj:array_position="46" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Is Super User" name="super_user" oils_obj:array_position="47" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Family Linkage or other Group" name="usrgroup" oils_obj:array_position="48" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="OPAC/Staff Client User Name" name="usrname" oils_obj:array_position="49" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Additional Permission Groups" name="groups" oils_obj:array_position="50" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Is Deleted" name="deleted" oils_obj:array_position="51" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="User Notes" name="notes" oils_obj:array_position="52" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Demographic Info" name="demographic" oils_obj:array_position="53" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Billable Transactions" name="billable_transactions" oils_obj:array_position="54" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Checkins" name="checkins" oils_obj:array_position="55" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Circulations Performed as Staff" name="performed_circulations" oils_obj:array_position="56" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="demographic" reltype="might_have" key="id" map="" class="rud"/>
+			<link field="net_access_level" reltype="has_a" key="id" map="" class="cnal"/>
+			<link field="profile" reltype="has_a" key="id" map="" class="pgt"/>
+			<link field="ident_type" reltype="has_a" key="id" map="" class="cit"/>
+			<link field="billing_address" reltype="has_a" key="id" map="" class="aua"/>
+			<link field="mailing_address" reltype="has_a" key="id" map="" class="aua"/>
+			<link field="home_ou" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="standing" reltype="has_a" key="id" map="" class="cst"/>
+			<link field="card" reltype="has_a" key="id" map="" class="ac"/>
+			<link field="ident_type2" reltype="has_a" key="id" map="" class="cit"/>
+			<link field="stat_cat_entries" reltype="has_many" key="target_usr" map="" class="actscecm"/>
+			<link field="groups" reltype="has_many" key="usr" map="grp" class="pugm"/>
+			<link field="usrgroup" reltype="has_many" key="usrgroup" map="" class="au"/>
+			<link field="checkouts" reltype="has_many" key="usr" map="" class="circ"/>
+			<link field="hold_requests" reltype="has_many" key="usr" map="" class="circ"/>
+			<link field="permissions" reltype="has_many" key="usr" map="perm" class="pupm"/>
+			<link field="settings" reltype="has_many" key="usr" map="" class="aus"/>
+			<link reporter:label="Billable Transactions" field="billable_transactions" reltype="has_many" key="usr" map="" class="mbt"/>
+			<link field="standing_penalties" reltype="has_many" key="usr" map="" class="ausp"/>
+			<link field="addresses" reltype="has_many" key="usr" map="" class="aua"/>
+			<link field="survey_responses" reltype="has_many" key="usr" map="" class="asvr"/>
+			<link field="notes" reltype="has_many" key="usr" map="" class="aun"/>
+			<link reporter:label="Check-ins Performed as Staff" field="checkins" reltype="has_many" key="checkin_staff" map="" class="circ"/>
+			<link field="cards" reltype="has_many" key="usr" map="" class="ac"/>
+			<link reporter:label="Circulations Performed as Staff" field="performed_circulations" reltype="has_many" key="circ_staff" map="" class="circ"/>
+		</links>
+	</class>
+	<class id="aous" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit_setting" oils_persist:tablename="actor.org_unit_setting">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_setting_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" />
+			<field name="name" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="org_unit" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field name="value" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="acpn" controller="open-ils.cstore" oils_obj:fieldmapper="asset::copy_note" oils_persist:tablename="asset.copy_note" reporter:label="Copy Note">
+		<fields oils_persist:primary="id" oils_persist:sequence="asset.copy_note_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Note Creation Date/Time" name="create_date" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Note Creator" name="creator" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Note ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Copy" name="owning_copy" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Is OPAC Visible?" name="pub" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Note Title" name="title" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Note Content" name="value" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="owning_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_COPY_NOTE">
+                    <context link="owning_copy" field="circ_lib"/>
+                </create>
+                <retrieve permission="VIEW_COPY_NOTES">
+                    <context link="owning_copy" field="circ_lib"/>
+                </retrieve>
+                <update permission="UPDATE_COPY_NOTE">
+                    <context link="owning_copy" field="circ_lib"/>
+                </update>
+                <delete permission="DELETE_COPY_NOTE">
+                    <context link="owning_copy" field="circ_lib"/>
+                </delete>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="mfr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::full_rec" oils_persist:tablename="metabib.full_rec" reporter:label="Flattened MARC Fields">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.full_rec_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Field ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Indicator 1" name="ind1" oils_obj:array_position="4" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Indicator 2" name="ind2" oils_obj:array_position="5" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Bib Record Entry" name="record" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Subfield" name="subfield" oils_obj:array_position="7" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Tag" name="tag" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Normalized Value" name="value" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="record" reltype="has_a" key="id" map="" class="bre"/>
+		</links>
+	</class>
+	<class id="mmr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::metarecord" oils_persist:tablename="metabib.metarecord">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.metarecord_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="fingerprint" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="master_record" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="mods" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="source_records" oils_obj:array_position="7" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="master_record" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="source_records" reltype="has_many" key="metarecord" map="source" class="mmrsm"/>
+		</links>
+	</class>
+	<class id="cnal" controller="open-ils.cstore" oils_obj:fieldmapper="config::net_access_level" oils_persist:tablename="config.net_access_level">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.net_access_level_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field name="name" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_NET_ACCESS_LEVEL" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_NET_ACCESS_LEVEL" global_required="true"/>
+                <delete permission="DELETE_NET_ACCESS_LEVEL" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="ppl" controller="open-ils.cstore" oils_obj:fieldmapper="permission::perm_list" oils_persist:tablename="permission.perm_list">
+		<fields oils_persist:primary="id" oils_persist:sequence="permission.perm_list_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="code" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="description" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
+			<field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:selector="code" reporter:datatype="id"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_PERM" global_required="true"/>
+                <retrieve permission="CREATE_PERM|UPDATE_PERM|DELETE_PERM" global_required="true"/>
+                <update permission="UPDATE_PERM" global_required="true"/>
+                <delete permission="DELETE_PERM" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="mmrsm" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::metarecord_source_map" oils_persist:tablename="metabib.metarecord_source_map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.metarecord_source_map_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="metarecord" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="source" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="metarecord" reltype="has_a" key="id" map="" class="mmr"/>
+		</links>
+	</class>
+	<class id="mkfe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::keyword_field_entry" oils_persist:tablename="metabib.keyword_field_entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.keyword_field_entry_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="field" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="value" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="source" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+		</links>
+	</class>
+	<class id="mcp" controller="open-ils.cstore" oils_obj:fieldmapper="money::cash_payment" oils_persist:tablename="money.cash_payment">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="cash_drawer" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="note" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="payment_ts" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="xact" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="payment_type" oils_obj:array_position="11" oils_persist:virtual="true"  reporter:datatype="text"/>
+			<field name="payment" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="payment" reltype="might_have" key="id" map="" class="mp"/>
+			<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="mfp" controller="open-ils.cstore" oils_obj:fieldmapper="money::forgive_payment" oils_persist:tablename="money.forgive_payment">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="note" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="payment_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="xact" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="payment_type" oils_obj:array_position="10" oils_persist:virtual="true"  reporter:datatype="text"/>
+			<field name="payment" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="payment" reltype="might_have" key="id" map="" class="mp"/>
+			<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="mrd" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::record_descriptor" oils_persist:tablename="metabib.rec_descriptor" reporter:label="Basic Record Descriptor">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.rec_descriptor_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Audn" name="audience" oils_obj:array_position="3" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="BLvl" name="bib_level" oils_obj:array_position="4" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Cat Form" name="cat_form" oils_obj:array_position="5" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Character Encoding" name="char_encoding" oils_obj:array_position="6" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Ctrl" name="control_type" oils_obj:array_position="7" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="ELvl" name="enc_level" oils_obj:array_position="8" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Descriptor ID" name="id" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Form" name="item_form" oils_obj:array_position="10" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Lang" name="item_lang" oils_obj:array_position="11" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Type" name="item_type" oils_obj:array_position="12" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="LitF" name="lit_form" oils_obj:array_position="13" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Pub Status" name="pub_status" oils_obj:array_position="14" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Bib Record Entry" name="record" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="TMat" name="type_mat" oils_obj:array_position="16" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Video Recording Format" name="vr_format" oils_obj:array_position="17" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Date1" name="date1" oils_obj:array_position="18" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+			<field reporter:label="Date2" name="date2" oils_obj:array_position="19" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="record" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="item_lang" reltype="has_a" key="code" map="" class="clm"/>
+			<link field="item_type" reltype="has_a" key="code" map="" class="citm"/>
+			<link field="bib_level" reltype="has_a" key="code" map="" class="cblvl"/>
+			<link field="item_form" reltype="has_a" key="code" map="" class="cifm"/>
+			<link field="audience" reltype="has_a" key="code" map="" class="cam"/>
+			<link field="lit_form" reltype="has_a" key="code" map="" class="clfm"/>
+		</links>
+	</class>
+	<class id="ccs" controller="open-ils.cstore" oils_obj:fieldmapper="config::copy_status" oils_persist:tablename="config.copy_status">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.copy_status_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="holdable" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field name="name" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
+			<field name="opac_visible" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_COPY_STATUS" global_required="true"/>
+                <retrieve permission="CREATE_COPY_STATUS|UPDATE_COPY_STATUS|DELETE_COPY_STATUS" global_required="true"/>
+                <update permission="UPDATE_COPY_STATUS" global_required="true"/>
+                <delete permission="DELETE_COPY_STATUS" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="ausp" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_standing_penalty" oils_persist:tablename="actor.usr_standing_penalty">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.usr_standing_penalty_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="penalty_type" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="usr" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="aua" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_address" oils_persist:tablename="actor.usr_address" reporter:label="User Address">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.usr_address_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Type" name="address_type" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="City" name="city" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Country" name="country" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="County" name="county" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Address ID" name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Postal Code" name="post_code" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="State" name="state" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Street (1)" name="street1" oils_obj:array_position="10" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Street (2)" name="street2" oils_obj:array_position="11" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="User" name="usr" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Valid Address?" name="valid" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Within City Limits?" name="within_city_limits" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="acnn" controller="open-ils.cstore" oils_obj:fieldmapper="asset::call_number_note" oils_persist:tablename="asset.call_number_note">
+		<fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_note_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="call_number" oils_obj:array_position="3" oils_persist:virtual="false" />
+			<field name="create_date" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="creator" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="pub" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="title" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="value" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="call_number" reltype="has_a" key="id" map="" class="acn"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_VOLUME_NOTE">
+                    <context link="call_number" field="owning_lib"/>
+                </create>
+                <retrieve permission="VIEW_VOLUME_NOTES">
+                    <context link="call_number" field="owning_lib"/>
+                </retrieve>
+                <update permission="UPDATE_VOLUME_NOTE">
+                    <context link="call_number" field="owning_lib"/>
+                </update>
+                <delete permission="DELETE_VOLUME_NOTE">
+                    <context link="call_number" field="owning_lib"/>
+                </delete>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="arn" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_note" oils_persist:tablename="authority.record_note">
+		<fields oils_persist:primary="id" oils_persist:sequence="authority.record_note_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="create_date" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="creator" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="edit_date" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="editor" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="record" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="value" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="record" reltype="has_a" key="id" map="" class="are"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_AUTHORITY_RECORD_NOTE" global_required='true'/>
+                <retrieve permission="VIEW_AUTHORITY_RECORD_NOTES" global_required='true'/>
+                <update permission="UPDATE_AUTHORITY_RECORD_NOTE" global_required='true'/>
+                <delete permission="DELETE_AUTHORITY_RECORD_NOTE" global_required='true'/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="circ" controller="open-ils.cstore" oils_obj:fieldmapper="action::circulation" oils_persist:tablename="action.circulation" reporter:core="true" reporter:label="Circulation">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Check In Library" name="checkin_lib" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Check In Staff" name="checkin_staff" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Check In Date/Time" name="checkin_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+			<field reporter:label="Circulating Staff" name="circ_staff" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Desk Renewal" name="desk_renewal" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Due Date/Time" name="due_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulation Duration" name="duration" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Circ Duration Rule" name="duration_rule" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Fine Interval" name="fine_interval" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Circ ID" name="id" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Max Fine Amount" name="max_fine" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Max Fine Rule" name="max_fine_rule" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="OPAC Renewal" name="opac_renewal" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Phone Renewal" name="phone_renewal" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Recurring Fine Amount" name="recuring_fine" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Recurring Fine Rule" name="recuring_fine_rule" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Remaining Renewals" name="renewal_remaining" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Fine Stop Reason" name="stop_fines" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Fine Stop Date/Time" name="stop_fines_time" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulating Item" name="target_copy" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron" name="usr" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Transaction Finish Date/Time" name="xact_finish" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Check Out Date/Time" name="xact_start" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Record Creation Date/Time" name="create_time" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Transaction Billings" name="billings" oils_obj:array_position="28" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Transaction Payments" name="payments" oils_obj:array_position="29" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Base Transaction" name="billable_transaction" oils_obj:array_position="30" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Circulation Type" name="circ_type" oils_obj:array_position="31" oils_persist:virtual="true" reporter:datatype="text"/>
+			<field reporter:label="Billing Totals" name="billing_total" oils_obj:array_position="32" oils_persist:virtual="true" reporter:datatype="money"/>
+			<field reporter:label="Payment Totals" name="payment_total" oils_obj:array_position="33" oils_persist:virtual="true" reporter:datatype="money"/>
+		</fields>
+		<links>
+			<link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
+			<link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
+			<link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
+			<link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
+			<link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
+			<link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
+			<link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
+			<link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
+			<link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
+		</links>
+	</class>
+	<class id="combcirc" controller="open-ils.cstore" oils_obj:fieldmapper="action::all_circulation" oils_persist:tablename="action.all_circulation" reporter:core="true" reporter:label="Combined Aged and Active Circulations" oils_persist:readonly="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Check In Library" name="checkin_lib" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Check In Staff" name="checkin_staff" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Check In Date/Time" name="checkin_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+			<field reporter:label="Circulating Staff" name="circ_staff" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Desk Renewal" name="desk_renewal" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Due Date/Time" name="due_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulation Duration" name="duration" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Circ Duration Rule" name="duration_rule" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Fine Interval" name="fine_interval" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Circ ID" name="id" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Max Fine Amount" name="max_fine" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Max Fine Rule" name="max_fine_rule" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="OPAC Renewal" name="opac_renewal" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Phone Renewal" name="phone_renewal" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Recurring Fine Amount" name="recuring_fine" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Recurring Fine Rule" name="recuring_fine_rule" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Remaining Renewals" name="renewal_remaining" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Fine Stop Reason" name="stop_fines" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Fine Stop Date/Time" name="stop_fines_time" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulating Item" name="target_copy" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron ZIP" name="usr_post_code" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Transaction Finish Date/Time" name="xact_finish" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Check Out Date/Time" name="xact_start" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Record Creation Date/Time" name="create_time" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Transaction Billings" name="billings" oils_obj:array_position="28" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Transaction Payments" name="payments" oils_obj:array_position="29" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Base Transaction" name="billable_transaction" oils_obj:array_position="30" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Circulation Type" name="circ_type" oils_obj:array_position="31" oils_persist:virtual="true" reporter:datatype="text"/>
+			<field reporter:label="Billing Totals" name="billing_total" oils_obj:array_position="32" oils_persist:virtual="true" reporter:datatype="money"/>
+			<field reporter:label="Payment Totals" name="payment_total" oils_obj:array_position="33" oils_persist:virtual="true" reporter:datatype="money"/>
+			<field reporter:label="Patron Home Library" name="usr_home_ou" oils_obj:array_position="34" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron Profile Group" name="usr_profile" oils_obj:array_position="35" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron Birth Year" name="usr_birth_year" oils_obj:array_position="36" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Call Number" name="copy_call_number" oils_obj:array_position="37" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Shelving Location" name="copy_location" oils_obj:array_position="38" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Copy Owning Library" name="copy_owning_lib" oils_obj:array_position="39" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Copy Circulating Library" name="copy_circ_lib" oils_obj:array_position="40" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Bib Record" name="copy_bib_record" oils_obj:array_position="41" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
+			<link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
+			<link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
+			<link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
+			<link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
+			<link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
+			<link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
+			<link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
+			<link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
+			<link field="copy_call_number" reltype="has_a" key="id" map="" class="acn"/>
+			<link field="copy_location" reltype="has_a" key="id" map="" class="acl"/>
+			<link field="copy_owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="copy_circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="copy_bib_record" reltype="has_a" key="id" map="" class="bre"/>
+		</links>
+	</class>
+	<class id="acirc" controller="open-ils.cstore" oils_obj:fieldmapper="action::aged_circulation" oils_persist:tablename="action.aged_circulation" reporter:core="true" reporter:label="Aged (patronless) Circulation">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Check In Library" name="checkin_lib" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Check In Staff" name="checkin_staff" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Check In Date/Time" name="checkin_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+			<field reporter:label="Circulating Staff" name="circ_staff" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Desk Renewal" name="desk_renewal" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Due Date/Time" name="due_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulation Duration" name="duration" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Circ Duration Rule" name="duration_rule" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Fine Interval" name="fine_interval" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Circ ID" name="id" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Max Fine Amount" name="max_fine" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Max Fine Rule" name="max_fine_rule" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="OPAC Renewal" name="opac_renewal" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Phone Renewal" name="phone_renewal" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Recurring Fine Amount" name="recuring_fine" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Recurring Fine Rule" name="recuring_fine_rule" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Remaining Renewals" name="renewal_remaining" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Fine Stop Reason" name="stop_fines" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Fine Stop Date/Time" name="stop_fines_time" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulating Item" name="target_copy" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron ZIP" name="usr_post_code" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Transaction Finish Date/Time" name="xact_finish" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Check Out Date/Time" name="xact_start" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Record Creation Date/Time" name="create_time" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Transaction Billings" name="billings" oils_obj:array_position="28" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Transaction Payments" name="payments" oils_obj:array_position="29" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Base Transaction" name="billable_transaction" oils_obj:array_position="30" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Circulation Type" name="circ_type" oils_obj:array_position="31" oils_persist:virtual="true" reporter:datatype="text"/>
+			<field reporter:label="Billing Totals" name="billing_total" oils_obj:array_position="32" oils_persist:virtual="true" reporter:datatype="money"/>
+			<field reporter:label="Payment Totals" name="payment_total" oils_obj:array_position="33" oils_persist:virtual="true" reporter:datatype="money"/>
+			<field reporter:label="Patron Home Library" name="usr_home_ou" oils_obj:array_position="34" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron Profile Group" name="usr_profile" oils_obj:array_position="35" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron Birth Year" name="usr_birth_year" oils_obj:array_position="36" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Call Number" name="copy_call_number" oils_obj:array_position="37" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Shelving Location" name="copy_location" oils_obj:array_position="38" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Copy Owning Library" name="copy_owning_lib" oils_obj:array_position="39" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Copy Circulating Library" name="copy_circ_lib" oils_obj:array_position="40" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Bib Record" name="copy_bib_record" oils_obj:array_position="41" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
+			<link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
+			<link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
+			<link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
+			<link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
+			<link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
+			<link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
+			<link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
+			<link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
+			<link field="copy_call_number" reltype="has_a" key="id" map="" class="acn"/>
+			<link field="copy_location" reltype="has_a" key="id" map="" class="acl"/>
+			<link field="copy_owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="copy_circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="copy_bib_record" reltype="has_a" key="id" map="" class="bre"/>
+		</links>
+	</class>
+	<class id="ccnbi" controller="open-ils.cstore" oils_obj:fieldmapper="container::call_number_bucket_item" oils_persist:tablename="container.call_number_bucket_item">
+		<fields oils_persist:primary="id" oils_persist:sequence="container.call_number_bucket_item_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="bucket" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="target_call_number" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link" />
+			<field name="create_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp" />
+		</fields>
+		<links>
+			<link field="target_call_number" reltype="has_a" key="id" map="" class="acn"/>
+			<link field="bucket" reltype="has_a" key="id" map="" class="ccnb"/>
+		</links>
+	</class>
+	<class id="cbreb" controller="open-ils.cstore" oils_obj:fieldmapper="container::biblio_record_entry_bucket" oils_persist:tablename="container.biblio_record_entry_bucket">
+		<fields oils_persist:primary="id" oils_persist:sequence="container.biblio_record_entry_bucket_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="items" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="btype" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="name" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="pub" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="create_time" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp" />
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="items" reltype="has_many" key="bucket" map="" class="cbrebi"/>
+		</links>
+	</class>
+	<class id="ahcm" controller="open-ils.cstore" oils_obj:fieldmapper="action::hold_copy_map" oils_persist:tablename="action.hold_copy_map">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.hold_copy_map_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="hold" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="target_copy" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
+			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+		</links>
+	</class>
+	<class id="ahn" controller="open-ils.cstore" oils_obj:fieldmapper="action::hold_notification" oils_persist:tablename="action.hold_notification" reporter:label="Hold Notification">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.hold_notification_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Hold" name="hold" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Notification ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Notification Method" name="method" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Notification Note" name="note" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Notifying Staff" name="notify_staff" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Notification Date/Time" name="notify_time" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+		</fields>
+		<links>
+			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
+			<link field="notify_staff" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="acpl" controller="open-ils.cstore" oils_obj:fieldmapper="asset::copy_location" oils_persist:tablename="asset.copy_location" reporter:label="Copy/Shelving Location">
+		<fields oils_persist:primary="id" oils_persist:sequence="asset.copy_location_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Can Circulate?" name="circulate" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="bool"/>
+			<field reporter:label="Is Holdable?" name="holdable" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Hold Capture Requires Verification" name="hold_verify" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Location ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Name" name="name" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Is OPAC Visible?" name="opac_visible" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Owning Org Unit" name="owning_lib" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+		</fields>
+		<links>
+			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_COPY_LOCATION" context_field="owning_lib"/>
+                <retrieve/>
+                <update permission="UPDATE_COPY_LOCATION" context_field="owning_lib"/>
+                <delete permission="DELETE_COPY_LOCATION" context_field="owning_lib"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="ascecm" controller="open-ils.cstore" oils_obj:fieldmapper="asset::stat_cat_entry_copy_map" oils_persist:tablename="asset.stat_cat_entry_copy_map">
+		<fields oils_persist:primary="id" oils_persist:sequence="asset.stat_cat_entry_copy_map_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="owning_copy" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="stat_cat" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="stat_cat_entry" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="owning_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="stat_cat_entry" reltype="has_a" key="id" map="" class="asce"/>
+			<link field="stat_cat" reltype="has_a" key="id" map="" class="asc"/>
+		</links>
+	</class>
+	<class id="citm" controller="open-ils.cstore" oils_obj:fieldmapper="config::item_type_map" oils_persist:tablename="config.item_type_map" reporter:label="Item Type Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Item Type Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Item Type" name="value" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_MARC_CODE" global_required="true"/>
+                <retrieve permission="CREATE_MARC_CODE|UPDATE_MARC_CODE|DELETE_MARC_CODE" global_required="true"/>
+                <update permission="UPDATE_MARC_CODE" global_required="true"/>
+                <delete permission="DELETE_MARC_CODE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="cblvl" controller="open-ils.cstore" oils_obj:fieldmapper="config::bib_level_map" oils_persist:tablename="config.bib_level_map" reporter:label="Bib Level Map" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Bib Level Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Bib Level" name="value" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_MARC_CODE" global_required="true"/>
+                <retrieve permission="CREATE_MARC_CODE|UPDATE_MARC_CODE|DELETE_MARC_CODE" global_required="true"/>
+                <update permission="UPDATE_MARC_CODE" global_required="true"/>
+                <delete permission="DELETE_MARC_CODE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="sra" controller="open-ils.cstore" oils_obj:fieldmapper="search::relevance_adjustment" oils_persist:tablename="search.relevance_adjustment" reporter:label="Relevance Adjustment">
+		<fields oils_persist:primary="id" oils_persist:sequence="search.relevance_adjustment_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="id"/>
+			<field reporter:label="Active" name="active" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="bool"/>
+			<field reporter:label="Index Field" name="field" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="link"/>
+			<field reporter:label="Bump Type" name="bump" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Multiplier" name="multiplier" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="number"/>
+		</fields>
+		<links>
+            <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+        </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_RELEVANCE_ADJUSTMENT" global_required="true"/>
+                <retrieve permission="CREATE_RELEVANCE_ADJUSTMENT|UPDATE_RELEVANCE_ADJUSTMENT|DELETE_RELEVANCE_ADJUSTMENT" global_required="true"/>
+                <update permission="UPDATE_RELEVANCE_ADJUSTMENT" global_required="true"/>
+                <delete permission="DELETE_RELEVANCE_ADJUSTMENT" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="lasso" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_lasso" oils_persist:tablename="actor.org_lasso">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_lasso_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_LASSO" global_required="true"/>
+                <retrieve permission="CREATE_LASSO|UPDATE_LASSO|DELETE_LASSO" global_required="true"/>
+                <update permission="UPDATE_LASSO" global_required="true"/>
+                <delete permission="DELETE_LASSO" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="lmap" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_lasso_map" oils_persist:tablename="actor.org_lasso_map">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_lasso_map_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="lasso" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="org_unit" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+		</fields>
+		<links>
+			<link field="lasso" reltype="has_a" key="id" map="" class="lasso"/>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_LASSO_MAP" global_required="true"/>
+                <retrieve permission="CREATE_LASSO_MAP|UPDATE_LASSO_MAP|DELETE_LASSO_MAP" global_required="true"/>
+                <update permission="UPDATE_LASSO_MAP" global_required="true"/>
+                <delete permission="DELETE_LASSO_MAP" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="aoup" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit_proximity" oils_persist:tablename="actor.org_unit_proximity">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_proximity_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="from_org" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field name="to_org" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field name="prox" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int" />
+		</fields>
+		<links>
+			<link field="from_org" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="to_org" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="ssr" controller="open-ils.cstore" oils_obj:fieldmapper="search::search_result" oils_persist:tablename="search.search_result" oils_persist:readonly="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_proximity_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Relevance" name="rel" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="float"/>
+			<field reporter:label="Record" name="record" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Total Results" name="total" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Checked" name="checked" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Visible" name="visible" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Deleted" name="deleted" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Excluded" name="excluded" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="int"/>
+		</fields>
+		<links/>
+	</class>
+	<class id="asv" controller="open-ils.cstore" oils_obj:fieldmapper="action::survey" oils_persist:tablename="action.survey" reporter:label="Survey">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.survey_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Questions" name="questions" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Responses" name="responses" oils_obj:array_position="4" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Description" name="description" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Survey End Date/Time" name="end_date" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Survey ID" name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Name" name="name" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="OPAC Survey?" name="opac" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Owning Library" name="owner" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Poll Style?" name="poll" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Is Required?" name="required" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Survey Start Date/Time" name="start_date" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Display in User Summary" name="usr_summary" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="survey" map="" class="aou"/>
+			<link field="responses" reltype="has_many" key="survey" map="" class="asvr"/>
+			<link field="questions" reltype="has_many" key="survey" map="" class="asvq"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_SURVEY" context_field="owner"/>
+                <retrieve/>
+                <update permission="UPDATE_SURVEY" context_field="owner"/>
+                <delete permission="DELETE_SURVEY" context_field="owner"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="aoa" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_address" oils_persist:tablename="actor.org_address">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_address_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="address_type" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="city" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="country" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="county" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="org_unit" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field name="post_code" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="state" oils_obj:array_position="10" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="street1" oils_obj:array_position="11" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="street2" oils_obj:array_position="12" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="valid" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_ORG_ADDRESS" context_field="org_unit"/>
+                <retrieve/>
+                <update permission="UPDATE_ORG_ADDRESS" context_field="org_unit"/>
+                <delete permission="DELETE_ORG_ADDRESS" context_field="org_unit"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="ahr" controller="open-ils.cstore" oils_obj:fieldmapper="action::hold_request" oils_persist:tablename="action.hold_request" reporter:core="true" reporter:label="Hold Request">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.hold_request_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="status" oils_obj:array_position="3" oils_persist:virtual="true" />
+			<field reporter:label="Transit" name="transit" oils_obj:array_position="4" oils_persist:virtual="true" />
+			<field reporter:label="Capture Date/Time" name="capture_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Currently Targeted Copy" name="current_copy" oils_obj:array_position="6" oils_persist:virtual="false" />
+			<field reporter:label="Notify by Email?" name="email_notify" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Hold Expire Date/Time" name="expire_time" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Fulfilling Library" name="fulfillment_lib" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Fulfilling Staff" name="fulfillment_staff" oils_obj:array_position="10" oils_persist:virtual="false" />
+			<field reporter:label="Fulfillment Date/Time" name="fulfillment_time" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Hold Type" name="hold_type" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Holdable Formats (for M-type hold)" name="holdable_formats" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Hold ID" name="id" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Notifications Phone Number" name="phone_notify" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Pickup Library" name="pickup_lib" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Last Targeting Date/Time" name="prev_check_time" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Requesting Library" name="request_lib" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Request Date/Time" name="request_time" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Requesting User" name="requestor" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Item Selection Depth" name="selection_depth" oils_obj:array_position="21" oils_persist:virtual="false" />
+			<field reporter:label="Selection Locus" name="selection_ou" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Target Object ID" name="target" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Hold User" name="usr" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Hold Cancel Date/Time" name="cancel_time" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="notify_time" oils_obj:array_position="26" oils_persist:virtual="true" reporter:datatype="timestamp"/>
+			<field name="notify_count" oils_obj:array_position="27" oils_persist:virtual="true" reporter:datatype="int" />
+			<field reporter:label="Notifications" name="notifications" oils_obj:array_position="28" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Bib Record link" name="bib_rec" oils_obj:array_position="29" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Eligible Copies" name="eligible_copies" oils_obj:array_position="30" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Currently Frozen" name="frozen" oils_obj:array_position="31" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Thaw Date (if frozen)" name="thaw_date" oils_obj:array_position="32" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+		</fields>
+		<links>
+			<link field="fulfillment_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="fulfillment_staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="pickup_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="selection_ou" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="requestor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="current_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="request_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="transit" reltype="might_have" key="hold" map="" class="ahtc"/>
+			<link field="notifications" reltype="has_many" key="hold" map="" class="ahn"/>
+			<link field="eligible_copies" reltype="has_many" key="hold" map="target_copy" class="ahcm"/>
+			<link field="bib_rec" reltype="might_have" key="id" map="" class="rhrr"/>
+		</links>
+	</class>
+	<class id="aou" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit" oils_persist:tablename="actor.org_unit" reporter:label="Organizational Unit" oils_persist:field_safe="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Subordinate Organizational Units" name="children" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="org_unit"/>
+			<field reporter:label="Billing Address" name="billing_address" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Holds Receiving Address" name="holds_address" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Organizational Unit ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="ILL Receiving Address" name="ill_address" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Mailing Address" name="mailing_address" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Name" name="name" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Organizational Unit Type" name="ou_type" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Parent Organizational Unit" name="parent_ou" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Short (Policy) Name" name="shortname" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Email Address" name="email" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Phone Number" name="phone" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="OPAC Visible" name="opac_visible" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Users" name="users" oils_obj:array_position="16" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Closed Dates" name="closed_dates" oils_obj:array_position="17" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Circulations" name="circulations" oils_obj:array_position="18" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Settings" name="settings" oils_obj:array_position="19" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Addresses" name="addresses" oils_obj:array_position="20" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Checkins" name="checkins" oils_obj:array_position="21" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Workstations" name="workstations" oils_obj:array_position="22" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="billing_address" reltype="has_a" key="id" map="" class="aoa"/>
+			<link field="holds_address" reltype="has_a" key="id" map="" class="aoa"/>
+			<link field="ou_type" reltype="has_a" key="id" map="" class="aout"/>
+			<link field="mailing_address" reltype="has_a" key="id" map="" class="aoa"/>
+			<link field="parent_ou" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="ill_address" reltype="has_a" key="id" map="" class="aoa"/>
+			<link field="users" reltype="has_many" key="home_ou" map="" class="au"/>
+			<link field="closed_dates" reltype="has_many" key="org_unit" map="" class="aoucd"/>
+			<link field="children" reltype="has_many" key="parent_ou" map="" class="aou"/>
+			<link field="circulations" reltype="has_many" key="circ_lib" map="" class="circ"/>
+			<link field="settings" reltype="has_many" key="org_unit" map="" class="aous"/>
+			<link field="addresses" reltype="has_many" key="org_unit" map="" class="aoa"/>
+			<link field="checkins" reltype="has_many" key="checkin_lib" map="" class="circ"/>
+			<link field="workstations" reltype="has_many" key="owning_lib" map="" class="aws"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_ORG_UNIT" context_field="parent_ou"/>
+                <retrieve permission="CREATE_ORG_UNIT|UPDATE_ORG_UNIT|DELETE_ORG_UNIT">
+                    <context field="id"/>
+                    <context field="parent_ou"/>
+				</retrieve>
+                <update permission="UPDATE_ORG_UNIT" context_field="id"/>
+                <delete permission="DELETE_ORG_UNIT" context_field="parent_ou"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="ccnb" controller="open-ils.cstore" oils_obj:fieldmapper="container::call_number_bucket" oils_persist:tablename="container.call_number_bucket">
+		<fields oils_persist:primary="id" oils_persist:sequence="container.call_number_bucket_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="items" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="btype" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="name" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="pub" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="create_time" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp" />
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="items" reltype="has_many" key="bucket" map="" class="ccnbi"/>
+		</links>
+	</class>
+	<class id="asc" controller="open-ils.cstore" oils_obj:fieldmapper="asset::stat_cat" oils_persist:tablename="asset.stat_cat" reporter:label="Asset Statistical Category">
+		<fields oils_persist:primary="id" oils_persist:sequence="asset.stat_cat_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Entries" name="entries" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Stat Cat ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" reporter:selector="name"/>
+			<field reporter:label="Name" name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="OPAC Visible" name="opac_visible" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Owning Library" name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="entries" reltype="has_many" key="stat_cat" map="" class="asce"/>
+		</links>
+	</class>
+	<class id="ac" controller="open-ils.cstore" oils_obj:fieldmapper="actor::card" oils_persist:tablename="actor.card" reporter:label="Library Card">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.card_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="IsActive?" name="active" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Barcode" name="barcode" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Card ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="User" name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="actsc" controller="open-ils.cstore" oils_obj:fieldmapper="actor::stat_cat" oils_persist:tablename="actor.stat_cat" reporter:label="User Statistical Category">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.stat_cat_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Entries" name="entries" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Stat Cat ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" reporter:selector="name"/>
+			<field reporter:label="Name" name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="OPAC Visible" name="opac_visible" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Owning Library" name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="entries" reltype="has_many" key="stat_cat" map="" class="actsce"/>
+		</links>
+	</class>
+	<class id="msefe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::series_field_entry" oils_persist:tablename="metabib.series_field_entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.series_field_entry_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="field" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="value" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="source" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+		</links>
+	</class>
+	<class id="cub" controller="open-ils.cstore" oils_obj:fieldmapper="container::user_bucket" oils_persist:tablename="container.user_bucket">
+		<fields oils_persist:primary="id" oils_persist:sequence="container.user_bucket_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="items" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="btype" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="name" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="pub" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="create_time" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp" />
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="items" reltype="has_many" key="bucket" map="" class="cubi"/>
+		</links>
+	</class>
+	<class id="mcrp" controller="open-ils.cstore" oils_obj:fieldmapper="money::credit_payment" oils_persist:tablename="money.credit_payment" reporter:label="House Credit Payment">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Accepting Staff Member" name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Amount" name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Amount Collected" name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Pyament ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Payment Note" name="note" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="Payment Timestamp" name="payment_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transaction" name="xact" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="10" oils_persist:virtual="true"  reporter:datatype="text"/>
+			<field reporter:label="Payment link" name="payment" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="payment" reltype="might_have" key="id" map="" class="mp"/>
+			<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="afr" controller="open-ils.cstore" oils_obj:fieldmapper="authority::full_rec" oils_persist:tablename="authority.full_rec">
+		<fields oils_persist:primary="id" oils_persist:sequence="authority.full_rec_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="ind1" oils_obj:array_position="4" oils_persist:virtual="false" />
+			<field name="ind2" oils_obj:array_position="5" oils_persist:virtual="false" />
+			<field name="record" oils_obj:array_position="6" oils_persist:virtual="false" />
+			<field name="subfield" oils_obj:array_position="7" oils_persist:virtual="false" />
+			<field name="tag" oils_obj:array_position="8" oils_persist:virtual="false" />
+			<field name="value" oils_obj:array_position="9" oils_persist:virtual="false" />
+		</fields>
+		<links>
+			<link field="record" reltype="has_a" key="id" map="" class="are"/>
+		</links>
+	</class>
+	<class id="cnct" controller="open-ils.cstore" oils_obj:fieldmapper="config::non_cataloged_type" oils_persist:tablename="config.non_cataloged_type" reporter:label="Non-cataloged Type">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.non_cataloged_type_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Circulation Duration" name="circ_duration" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Non-cat Type ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="In House?" name="in_house" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Name" name="name" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+		</fields>
+		<links>
+			<link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="aout" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit_type" oils_persist:tablename="actor.org_unit_type" reporter:label="Organizational Unit Type">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_type_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Subordinate Types" name="children" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Can Have Users?" name="can_have_users" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Can Have Volumes?" name="can_have_vols" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Type Depth" name="depth" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Type ID" name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Type Name" name="name" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="OPAC Label" name="opac_label" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Parent Type" name="parent" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Org Units" name="org_units" oils_obj:array_position="11" oils_persist:virtual="true"  reporter:datatype="org_unit"/>
+		</fields>
+		<links>
+			<link field="parent" reltype="has_a" key="id" map="" class="aout"/>
+			<link field="children" reltype="has_many" key="parent" map="" class="aout"/>
+			<link field="org_units" reltype="has_many" key="ou_type" map="" class="aou"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_ORG_TYPE" global_required="true"/>
+                <retrieve permission="CREATE_ORG_UNIT|UPDATE_ORG_UNIT|DELETE_ORG_UNIT" global_required="true"/>
+                <update permission="UPDATE_ORG_TYPE" global_required="true"/>
+                <delete permission="DELETE_ORG_TYPE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="bren" controller="open-ils.cstore" oils_obj:fieldmapper="biblio::record_note" oils_persist:tablename="biblio.record_note">
+		<fields oils_persist:primary="id" oils_persist:sequence="biblio.record_note_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="create_date" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="creator" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="edit_date" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="editor" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="pub" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="record" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="value" oils_obj:array_position="10" oils_persist:virtual="false"  reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="record" reltype="has_a" key="id" map="" class="bre"/>
+		</links>
+	</class>
+	<class id="mucs" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_circulation_summary" oils_persist:tablename="money.usr_circulation_summary">
+		<fields oils_persist:primary="usr" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="total_owed" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="total_paid" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="mg" controller="open-ils.cstore" oils_obj:fieldmapper="money::grocery" oils_persist:tablename="money.grocery" reporter:label="Grocery Transaction">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Billing Location" name="billing_location" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Transaction ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Note" name="note" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text"/>
+			<field reporter:label="User" name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Transaction Finish Timestamp" name="xact_finish" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Transaction Start Timestamp" name="xact_start" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Billings" name="billings" oils_obj:array_position="9" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Payments" name="payments" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Billable Transaction link" name="billable_transaction" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Billing Totals" name="billing_total" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="money"/>
+			<field reporter:label="Payment Totals" name="payment_total" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="money"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
+			<link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
+			<link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
+			<link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
+			<link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
+		</links>
+	</class>
+	<class id="cbs" controller="open-ils.cstore" oils_obj:fieldmapper="config::bib_source" oils_persist:tablename="config.bib_source">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.bib_source_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="source" reporter:datatype="id"/>
+			<field name="quality" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
+			<field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="transcendant" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_BIB_SOURCE" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_BIB_SOURCE" global_required="true"/>
+                <delete permission="DELETE_BIB_SOURCE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="mbt" controller="open-ils.cstore" oils_obj:fieldmapper="money::billable_transaction" oils_persist:tablename="money.billable_xact" reporter:label="Billable Transaction">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Transaction ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="User" name="usr" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Transaction Finish Date/Time" name="xact_finish" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transaction Start Date/Time" name="xact_start" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Unrecovered Debt" name="unrecovered" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Grocery Billing link" name="grocery" oils_obj:array_position="8" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Circulation Billing link" name="circulation" oils_obj:array_position="9" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Billing Line Items" name="billings" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Payment Line Items" name="payments" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Billing Totals" name="billing_total" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="money"/>
+			<field reporter:label="Payment Totals" name="payment_total" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="money"/>
+		</fields>
+		<links>
+			<link field="grocery" reltype="might_have" key="id" map="" class="mg"/>
+			<link field="circulation" reltype="might_have" key="id" map="" class="circ"/>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
+			<link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
+			<link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
+			<link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
+		</links>
+	</class>
+	<class id="actsce" controller="open-ils.cstore" oils_obj:fieldmapper="actor::stat_cat_entry" oils_persist:tablename="actor.stat_cat_entry" reporter:label="User Stat Cat Entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.stat_cat_entry_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Entry ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Entry Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Stat Cat" name="stat_cat" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Entry Value" name="value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="stat_cat" reltype="has_a" key="id" map="" class="actsc"/>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="cubi" controller="open-ils.cstore" oils_obj:fieldmapper="container::user_bucket_item" oils_persist:tablename="container.user_bucket_item">
+		<fields oils_persist:primary="id" oils_persist:sequence="container.user_bucket_item_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="bucket" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="target_user" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="create_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp" />
+		</fields>
+		<links>
+			<link field="target_user" reltype="has_a" key="id" map="" class="au"/>
+			<link field="bucket" reltype="has_a" key="id" map="" class="cub"/>
+		</links>
+	</class>
+	<class id="mus" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_summary" oils_persist:tablename="money.usr_summary">
+		<fields oils_persist:primary="usr" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="total_owed" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="total_paid" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="clfm" controller="open-ils.cstore" oils_obj:fieldmapper="config::lit_form_map" oils_persist:tablename="config.lit_form_map" reporter:label="Literary Form" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="LitF Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="LitF Description" name="description" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="LitF Name" name="value" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_MARC_CODE" global_required="true"/>
+                <retrieve permission="CREATE_MARC_CODE|UPDATE_MARC_CODE|DELETE_MARC_CODE" global_required="true"/>
+                <update permission="UPDATE_MARC_CODE" global_required="true"/>
+                <delete permission="DELETE_MARC_CODE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="mwp" controller="open-ils.cstore" oils_obj:fieldmapper="money::work_payment" oils_persist:tablename="money.work_payment" reporter:label="Work Payment">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Accepting Staff Member" name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Amount" name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Amount Collected" name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Payment ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Note" name="note" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Payment Timestamp" name="payment_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transaction ID" name="xact" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Payment link" name="payment" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="payment" reltype="might_have" key="id" map="" class="mp"/>
+			<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="mgp" controller="open-ils.cstore" oils_obj:fieldmapper="money::goods_payment" oils_persist:tablename="money.goods_payment" reporter:label="Goods Payment">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Accepting Staff Member" name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Amount" name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Amount Collected" name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Payment ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Note" name="note" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Payment Timestamp" name="payment_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transaction ID" name="xact" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Payment link" name="payment" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="payment" reltype="might_have" key="id" map="" class="mp"/>
+			<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="aoc" controller="open-ils.cstore" oils_obj:fieldmapper="action::open_circulation" oils_persist:tablename="action.open_circulation">
+		<fields oils_persist:primary="id" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="checkin_lib" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="checkin_staff" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="checkin_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="circ_lib" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+			<field name="circ_staff" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="desk_renewal" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="due_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="duration" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field name="duration_rule" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="fine_interval" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field name="id" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="max_fine" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="max_fine_rule" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="opac_renewal" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="phone_renewal" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="recuring_fine" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="recuring_fine_rule" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="renewal_remaining" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="int" />
+			<field name="stop_fines" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="stop_fines_time" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="target_copy" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="usr" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="xact_finish" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field name="xact_start" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field name="circulation" oils_obj:array_position="27" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="circulation" reltype="might_have" key="id" map="" class="circ"/>
+			<link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
+			<link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
+			<link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
+		</links>
+	</class>
+	<class id="msfe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::subject_field_entry" oils_persist:tablename="metabib.subject_field_entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.subject_field_entry_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="field" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="source" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+		</links>
+	</class>
+	<class id="crrf" controller="open-ils.cstore" oils_obj:fieldmapper="config::rules::recuring_fine" oils_persist:tablename="config.rule_recuring_fine">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.rule_recuring_fine_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="high" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field name="low" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="name" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="normal" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="recurance_interval" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="interval"/>
+		</fields>
+		<links/>
+	</class>
+	<class id="mckp" controller="open-ils.cstore" oils_obj:fieldmapper="money::check_payment" oils_persist:tablename="money.check_payment" reporter:label="Check Payment">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Accepting Staff Member" name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Amount" name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Amount Collected" name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Workstation link" name="cash_drawer" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Check Number" name="check_number" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Payment ID" name="id" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Note" name="note" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Payment Timestamp" name="payment_ts" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transaction link" name="xact" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Payment link" name="payment" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="payment" reltype="might_have" key="id" map="" class="mp"/>
+			<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="acp" controller="open-ils.cstore" oils_obj:fieldmapper="asset::copy" oils_persist:tablename="asset.copy" reporter:core="true" reporter:label="Item">
+		<fields oils_persist:primary="id" oils_persist:sequence="asset.copy_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Statistical Category Entries" name="stat_cat_entries" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Age Hold Protection" name="age_protect" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Alert Message" name="alert_message" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Barcode" name="barcode" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Call Number/Volume" name="call_number" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Circulation Type (MARC)" name="circ_as_type" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+			<field reporter:label="Circulation Modifier" name="circ_modifier" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Can Circulate" name="circulate" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Copy Number on Volume" name="copy_number" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Creation Date/Time" name="create_date" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Creating User" name="creator" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Is Deleted" name="deleted" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Is Deposit Required" name="deposit" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Deposit Amount" name="deposit_amount" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Precat Dummy Author" name="dummy_author" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Precat Dummy Title" name="dummy_title" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Last Edit Date/Time" name="edit_date" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Editing User" name="editor" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Fine Level" name="fine_level" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Is Holdable" name="holdable" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="bool" />
+			<field reporter:label="Copy ID" name="id" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Loan Duration" name="loan_duration" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Shelving Location" name="location" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="OPAC Visible" name="opac_visible" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="bool" />
+			<field reporter:label="Price" name="price" oils_obj:array_position="28" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Is Reference" name="ref" oils_obj:array_position="29" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Copy Status" name="status" oils_obj:array_position="30" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Copy Notes" name="notes" oils_obj:array_position="31" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Stat-Cat entry maps" name="stat_cat_entry_copy_maps" oils_obj:array_position="32" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Circulations" name="circulations" oils_obj:array_position="33" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Total Circulations" name="total_circ_count" oils_obj:array_position="34" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Holds" name="holds" oils_obj:array_position="35" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="age_protect" reltype="has_a" key="id" map="" class="crahp"/>
+			<link field="call_number" reltype="has_a" key="id" map="" class="acn"/>
+			<link field="location" reltype="has_a" key="id" map="" class="acpl"/>
+			<link field="editor" reltype="has_a" key="id" map="" class="au"/>
+			<link field="creator" reltype="has_a" key="id" map="" class="au"/>
+			<link field="status" reltype="has_a" key="id" map="" class="ccs"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="holds" reltype="has_many" key="target_copy" map="hold" class="ahcm"/>
+			<link field="stat_cat_entry_copy_maps" reltype="has_many" key="owning_copy" map="" class="ascecm"/>
+			<link field="notes" reltype="has_many" key="owning_copy" map="" class="acpn"/>
+			<link field="stat_cat_entries" reltype="has_many" key="owning_copy" map="stat_cat_entry" class="ascecm"/>
+			<link field="circulations" reltype="has_many" key="target_copy" map="" class="circ"/>
+			<link field="total_circ_count" reltype="might_have" key="id" map="" class="erfcc"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_COPY">
+                    <context link="call_number" field="owning_lib"/>
+                </create>
+                <retrieve/>
+                <update permission="UPDATE_COPY">
+                    <context link="call_number" field="owning_lib"/>
+                </update>
+                <delete permission="DELETE_COPY">
+                    <context link="call_number" field="owning_lib"/>
+                </delete>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="crahp" controller="open-ils.cstore" oils_obj:fieldmapper="config::rules::age_hold_protect" oils_persist:tablename="config.rule_age_hold_protect" reporter:label="Age Hold Protection Rule">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.rule_age_hold_protect_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Item Age" name="age" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Rule ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Rule Name" name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Allowed Proximity" name="prox" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int" />
+		</fields>
+		<links/>
+	</class>
+	<class id="crmf" controller="open-ils.cstore" oils_obj:fieldmapper="config::rules::max_fine" oils_persist:tablename="config.rule_max_fine" reporter:label="Max Fine Rule">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.rule_max_fine_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Max Fine Amount" name="amount" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Rule ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Rule Name" name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Is Percent" name="is_percent" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links/>
+	</class>
+	<class id="pgt" controller="open-ils.cstore" oils_obj:fieldmapper="permission::grp_tree" oils_persist:tablename="permission.grp_tree" reporter:label="Permission Group">
+		<fields oils_persist:primary="id" oils_persist:sequence="permission.grp_tree_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Child Groups" name="children" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Description" name="description" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Group ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
+			<field reporter:label="Group Name" name="name" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field reporter:label="Parent Group" name="parent" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="User Expiration Interval" name="perm_interval" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Required Permission" name="application_perm" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Is User Group" name="usergroup" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="parent" reltype="has_a" key="id" map="" class="pgt"/>
+			<link field="children" reltype="has_many" key="parent" map="" class="pgt"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_PERM" global_required="true"/>
+                <retrieve permission="CREATE_PERM|UPDATE_PERM|DELETE_PERM" global_required="true"/>
+                <update permission="UPDATE_PERM" global_required="true"/>
+                <delete permission="DELETE_PERM" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="asva" controller="open-ils.cstore" oils_obj:fieldmapper="action::survey_answer" oils_persist:tablename="action.survey_answer" reporter:label="Survey Answer">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.survey_answer_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Responses using this Answer" name="responses" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Answer Text" name="answer" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Answer ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Question" name="question" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="question" reltype="has_a" key="id" map="" class="asvq"/>
+			<link field="responses" reltype="has_many" key="answer" map="" class="asvr"/>
+		</links>
+	</class>
+	<class id="ancc" controller="open-ils.cstore" oils_obj:fieldmapper="action::non_cataloged_circulation" oils_persist:tablename="action.non_cataloged_circulation" reporter:core="true" reporter:label="Non-cataloged Circulation">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.non_cataloged_circulation_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+			<field reporter:label="Circulation Date/Time" name="circ_time" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Non-cat Circulation ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Non-cat Item Type" name="item_type" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron" name="patron" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Circulating Staff" name="staff" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="item_type" reltype="has_a" key="id" map="" class="cnct"/>
+			<link field="staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="patron" reltype="has_a" key="id" map="" class="au"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="moucs" controller="open-ils.cstore" oils_obj:fieldmapper="money::open_user_circulation_summary" oils_persist:tablename="money.open_usr_circulation_summary">
+		<fields oils_persist:primary="usr" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="total_owed" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="total_paid" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+			<field name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="aufh" controller="open-ils.cstore" oils_obj:fieldmapper="action::unfulfilled_hold_list" oils_persist:tablename="action.unfulfilled_hold_list" reporter:label="Unfulfilled Hold Targets">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.unfulfilled_hold_list_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Non-fulfilling Library" name="circ_lib" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+			<field reporter:label="Non-fulfilling Copy" name="current_copy" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Retargeting Date/Time" name="fail_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Hold" name="hold" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Record ID" name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
+		</fields>
+		<links>
+			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
+			<link field="current_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="mtfe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::title_field_entry" oils_persist:tablename="metabib.title_field_entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="metabib.title_field_entry_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="field" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="source" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="field" reltype="has_a" key="id" map="" class="cmf"/>
+		</links>
+	</class>
+	<class id="actscecm" controller="open-ils.cstore" oils_obj:fieldmapper="actor::stat_cat_entry_user_map" oils_persist:tablename="actor.stat_cat_entry_usr_map"  reporter:label="User Statistical Category Entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="actor.stat_cat_entry_usr_map_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Entry ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Statistical Category" name="stat_cat" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Entry Text" name="stat_cat_entry" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="User" name="target_usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="target_usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="stat_cat" reltype="has_a" key="id" map="" class="actsc"/>
+		</links>
+	</class>
+	<class id="pgpm" controller="open-ils.cstore" oils_obj:fieldmapper="permission::grp_perm_map" oils_persist:tablename="permission.grp_perm_map">
+		<fields oils_persist:primary="id" oils_persist:sequence="permission.grp_perm_map_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="depth" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="int" />
+			<field name="grantable" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="grp" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="perm" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
+			<link field="perm" reltype="has_a" key="id" map="" class="ppl"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ASSIGN_GROUP_PERM" global_required="true"/>
+                <retrieve permission="ASSIGN_GROUP_PERM|UPDATE_GROUP_PERM|REMOVE_GROUP_PERM" global_required="true"/>
+                <update permission="UPDATE_GROUP_PERM" global_required="true"/>
+                <delete permission="REMOVE_GROUP_PERM" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="ccb" controller="open-ils.cstore" oils_obj:fieldmapper="container::copy_bucket" oils_persist:tablename="container.copy_bucket">
+		<fields oils_persist:primary="id" oils_persist:sequence="container.copy_bucket_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="items" oils_obj:array_position="3" oils_persist:virtual="true" />
+			<field name="btype" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="name" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="pub" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="create_time" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp" />
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="items" reltype="has_many" key="bucket" map="" class="ccbi"/>
+		</links>
+	</class>
+	<class id="puwoum" controller="open-ils.cstore" oils_obj:fieldmapper="permission::usr_work_ou_map" oils_persist:tablename="permission.usr_work_ou_map">
+		<fields oils_persist:primary="id" oils_persist:sequence="permission.usr_work_ou_map_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="int" />
+			<field name="usr" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="work_ou" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="work_ou" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="pupm" controller="open-ils.cstore" oils_obj:fieldmapper="permission::usr_perm_map" oils_persist:tablename="permission.usr_perm_map">
+		<fields oils_persist:primary="id" oils_persist:sequence="permission.usr_perm_map_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="depth" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field name="grantable" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="perm" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="usr" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="perm" reltype="has_a" key="id" map="" class="ppl"/>
+		</links>
+	</class>
+	<class id="puopm" controller="open-ils.cstore" oils_obj:fieldmapper="permission::usr_object_perm_map" oils_persist:tablename="permission.usr_object_perm_map">
+		<fields oils_persist:primary="id" oils_persist:sequence="permission.usr_object_perm_map_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="object_id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="grantable" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="perm" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="usr" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="object_type" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="perm" reltype="has_a" key="id" map="" class="ppl"/>
+		</links>
+	</class>
+	<class id="mp" controller="open-ils.cstore" oils_obj:fieldmapper="money::payment" oils_persist:tablename="money.payment_view" reporter:core="true" reporter:label="Payments: All">
+		<fields oils_persist:primary="id" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Amount" name="amount" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Payment ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Note" name="note" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Payment Date/Time" name="payment_ts" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Billable Transaction" name="xact" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Voided?" name="voided" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Cash Payment Detail" name="cash_payment" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Credit Card Payment Detail" name="credit_card_payment" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Credit Payment Detail" name="credit_payment" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Check Payment Detail" name="check_payment" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Work Payment Detail" name="work_payment" oils_obj:array_position="14" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Forgive Payment Detail" name="forgive_payment" oils_obj:array_position="15" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Goods Payment Detail" name="goods_payment" oils_obj:array_position="16" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="cash_payment" reltype="might_have" key="id" map="" class="mcp"/>
+			<link field="credit_card_payment" reltype="might_have" key="id" map="" class="mccp"/>
+			<link field="credit_payment" reltype="might_have" key="id" map="" class="mcrp"/>
+			<link field="check_payment" reltype="might_have" key="id" map="" class="mckp"/>
+			<link field="work_payment" reltype="might_have" key="id" map="" class="mwp"/>
+			<link field="forgive_payment" reltype="might_have" key="id" map="" class="mfp"/>
+			<link field="goods_payment" reltype="might_have" key="id" map="" class="mgp"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="mbp" controller="open-ils.cstore" oils_obj:fieldmapper="money::bnm_payment" oils_persist:tablename="money.bnm_payment_view" reporter:core="true" reporter:label="Payments: Brick-and-mortar">
+		<fields oils_persist:primary="id" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Amount" name="amount" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Payment ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Note" name="note" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Payment Date/Time" name="payment_ts" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Billable Transaction" name="xact" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Voided?" name="voided" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Cash Payment Detail" name="cash_payment" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Credit Card Payment Detail" name="credit_card_payment" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Credit Payment Detail" name="credit_payment" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Check Payment Detail" name="check_payment" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Work Payment Detail" name="work_payment" oils_obj:array_position="14" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Forgive Payment Detail" name="forgive_payment" oils_obj:array_position="15" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Goods Payment Detail" name="goods_payment" oils_obj:array_position="16" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="cash_payment" reltype="might_have" key="id" map="" class="mcp"/>
+			<link field="credit_card_payment" reltype="might_have" key="id" map="" class="mccp"/>
+			<link field="credit_payment" reltype="might_have" key="id" map="" class="mcrp"/>
+			<link field="check_payment" reltype="might_have" key="id" map="" class="mckp"/>
+			<link field="work_payment" reltype="might_have" key="id" map="" class="mwp"/>
+			<link field="forgive_payment" reltype="might_have" key="id" map="" class="mfp"/>
+			<link field="goods_payment" reltype="might_have" key="id" map="" class="mgp"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="mndp" controller="open-ils.reporter" oils_obj:fieldmapper="money::non_drawer_payment" oils_persist:tablename="money.non_drawer_payment_view" reporter:core="true" reporter:label="Payments: Non-drawer Staff">
+		<fields oils_persist:primary="id" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Amount" name="amount" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Payment ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Note" name="note" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Payment Date/Time" name="payment_ts" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Billable Transaction" name="xact" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Voided?" name="voided" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Work Payment Detail" name="work_payment" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Forgive Payment Detail" name="forgive_payment" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Goods Payment Detail" name="goods_payment" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Credit Payment Detail" name="credit_payment" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="work_payment" reltype="might_have" key="id" map="" class="mwp"/>
+			<link field="forgive_payment" reltype="might_have" key="id" map="" class="mfp"/>
+			<link field="goods_payment" reltype="might_have" key="id" map="" class="mgp"/>
+			<link field="credit_payment" reltype="might_have" key="id" map="" class="mcrp"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="mdp" controller="open-ils.cstore" oils_obj:fieldmapper="money::desk_payment" oils_persist:tablename="money.desk_payment_view" reporter:core="true" reporter:label="Payments: Desk">
+		<fields oils_persist:primary="id" oils_persist:sequence="">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Amount" name="amount" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Payment ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Note" name="note" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Payment Date/Time" name="payment_ts" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Billable Transaction" name="xact" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Accepting User" name="accepting_usr" oils_obj:array_position="9" oils_persist:virtual="false" />
+			<field reporter:label="Cash Drawer" name="cash_drawer" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Voided?" name="voided" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Cash Payment" name="cash_payment" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Credit Card Payment" name="credit_card_payment" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Check Payment" name="check_payment" oils_obj:array_position="14" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="cash_payment" reltype="might_have" key="id" map="" class="mcp"/>
+			<link field="credit_card_payment" reltype="might_have" key="id" map="" class="mccp"/>
+			<link field="check_payment" reltype="might_have" key="id" map="" class="mckp"/>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+			<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
+		</links>
+	</class>
+	<class id="cbrebi" controller="open-ils.cstore" oils_obj:fieldmapper="container::biblio_record_entry_bucket_item" oils_persist:tablename="container.biblio_record_entry_bucket_item">
+		<fields oils_persist:primary="id" oils_persist:sequence="container.biblio_record_entry_bucket_item_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="bucket" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="target_biblio_record_entry" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="create_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp" />
+		</fields>
+		<links>
+			<link field="target_biblio_record_entry" reltype="has_a" key="id" map="" class="bre"/>
+			<link field="bucket" reltype="has_a" key="id" map="" class="cbreb"/>
+		</links>
+	</class>
+	<class id="asce" controller="open-ils.cstore" oils_obj:fieldmapper="asset::stat_cat_entry" oils_persist:tablename="asset.stat_cat_entry" reporter:label="Item Stat Cat Entry">
+		<fields oils_persist:primary="id" oils_persist:sequence="asset.stat_cat_entry_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Entry ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Entry Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Stat Cat" name="stat_cat" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Value" name="value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links>
+			<link field="stat_cat" reltype="has_a" key="id" map="" class="asc"/>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+	<class id="ahtc" controller="open-ils.cstore" oils_obj:fieldmapper="action::hold_transit_copy" oils_persist:tablename="action.hold_transit_copy" reporter:core="true" reporter:label="Hold Transit">
+		<fields oils_persist:primary="id" oils_persist:sequence="action.transit_copy_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Copy Status at Transit" name="copy_status" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Destination Library" name="dest" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Receive Date/Time" name="dest_recv_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Hold requiring Transit" name="hold" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Transit ID" name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Is Persistent?" name="persistant_transfer" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Previous Stop" name="prev_hop" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Sending Library" name="source" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Send Date/Time" name="source_send_time" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transited Copy" name="target_copy" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Base Transit" name="transit_copy" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="transit_copy" reltype="might_have" key="id" map="" class="atc"/>
+			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="source" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
+			<link field="dest" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="TRANSIT_COPY" context_field="owner">
+                    <context link="target_copy" field="circ_lib"/>
+                </create>
+                <retrieve/>
+                <update permission="UPDATE_TRANSIT" context_field="dest|source"/>
+                <delete permission="DELETE_TRANSIT" context_field="dest|source"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="mb" controller="open-ils.cstore" oils_obj:fieldmapper="money::billing" oils_persist:tablename="money.billing" reporter:label="Billing Line Item">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.billing_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Amount" name="amount" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Billing Timestamp" name="billing_ts" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Billing Type" name="billing_type" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Billing ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Note" name="note" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Void Timestamp" name="void_time" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Voided?" name="voided" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Voiding Staff Member" name="voider" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Transaction" name="xact" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+			<link field="voider" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="pugm" controller="open-ils.cstore" oils_obj:fieldmapper="permission::usr_grp_map" oils_persist:tablename="permission.usr_grp_map">
+		<fields oils_persist:primary="id" oils_persist:sequence="permission.usr_grp_map_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="grp" oils_obj:array_position="3" oils_persist:virtual="false" />
+			<field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="usr" oils_obj:array_position="5" oils_persist:virtual="false" />
+		</fields>
+		<links>
+			<link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="i18n" controller="open-ils.cstore" oils_obj:fieldmapper="config::i18n_core" oils_persist:tablename="config.i18n_core" oils_persist:field_safe="true">
+		<fields oils_persist:primary="id" oils_persist:sequence="config.i18n_core_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="fq_field" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="identity_value" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="translation" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="string" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="translation" reltype="has_a" key="code" map="" class="i18n_l"/>
+		</links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_TRANSLATION" global_required="true"/>
+                <retrieve permission="CREATE_TRANSLATION|UPDATE_TRANSLATION|DELETE_TRANSLATION" global_required="true"/>
+                <update permission="UPDATE_TRANSLATION" global_required="true"/>
+                <delete permission="DELETE_TRANSLATION" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="i18n_l" controller="open-ils.cstore" oils_obj:fieldmapper="config::i18n_locale" oils_persist:tablename="config.i18n_locale" oils_persist:field_safe="true">
+		<fields oils_persist:primary="code">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="marc_code" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+			<field name="description" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+		</fields>
+		<links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_LOCALE" global_required="true"/>
+                <retrieve permission="CREATE_LOCALE|UPDATE_LOCALE|DELETE_LOCALE" global_required="true"/>
+                <update permission="UPDATE_LOCALE" global_required="true"/>
+                <delete permission="DELETE_LOCALE" global_required="true"/>
+            </actions>
+        </permacrud>
+	</class>
+	<class id="rof" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::output_folder" oils_persist:tablename="reporter.output_folder">
+		<fields oils_persist:primary="id" oils_persist:sequence="reporter.output_folder_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="parent" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="owner" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="create_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="name" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="shared" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="share_with" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="children" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="outputs" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="parent" reltype="has_a" key="id" map="" class="rof"/>
+			<link field="children" reltype="has_many" key="parent" map="" class="rof"/>
+			<link field="share_with" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="outputs" reltype="has_many" key="folder" map="" class="rs"/>
+		</links>
+	</class>
+	<class id="rtf" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::template_folder" oils_persist:tablename="reporter.template_folder">
+		<fields oils_persist:primary="id" oils_persist:sequence="reporter.template_folder_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="parent" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="owner" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="create_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="name" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="shared" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="share_with" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="children" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="templates" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="parent" reltype="has_a" key="id" map="" class="rtf"/>
+			<link field="children" reltype="has_many" key="parent" map="" class="rtf"/>
+			<link field="share_with" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="templates" reltype="has_many" key="folder" map="" class="rt"/>
+		</links>
+	</class>
+	<class id="rrf" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::report_folder" oils_persist:tablename="reporter.report_folder">
+		<fields oils_persist:primary="id" oils_persist:sequence="reporter.report_folder_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="parent" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="owner" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="create_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="name" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="shared" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="share_with" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="children" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field name="reports" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="parent" reltype="has_a" key="id" map="" class="rrf"/>
+			<link field="children" reltype="has_many" key="parent" map="" class="rrf"/>
+			<link field="share_with" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="reports" reltype="has_many" key="folder" map="" class="rr"/>
+		</links>
+	</class>
+	<class id="rt" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::template" oils_persist:tablename="reporter.template">
+		<fields oils_persist:primary="id" oils_persist:sequence="reporter.template_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="create_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="name" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="data" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="folder" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="description" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="reports" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="folder" reltype="has_a" key="id" map="" class="rtf"/>
+			<link field="reports" reltype="has_many" key="template" map="" class="rr"/>
+		</links>
+	</class>
+	<class id="rr" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::report" oils_persist:tablename="reporter.report">
+		<fields oils_persist:primary="id" oils_persist:sequence="reporter.report_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="create_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="template" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="data" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="folder" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="recur" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="recurance" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field name="name" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="description" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="runs" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="template" reltype="has_a" key="id" map="" class="rt"/>
+			<link field="folder" reltype="has_a" key="id" map="" class="rrf"/>
+			<link field="runs" reltype="has_many" key="report" map="" class="rs"/>
+		</links>
+	</class>
+	<class id="rs" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::schedule" oils_persist:tablename="reporter.schedule">
+		<fields oils_persist:primary="id" oils_persist:sequence="reporter.schedule_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field name="runner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="start_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="complete_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="run_time" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field name="email" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="excel_format" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="csv_format" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="html_format" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="error_code" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field name="error_text" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field name="report" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="folder" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field name="chart_pie" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="chart_bar" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field name="chart_line" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="bool"/>
+		</fields>
+		<links>
+			<link field="runner" reltype="has_a" key="id" map="" class="au"/>
+			<link field="report" reltype="has_a" key="id" map="" class="rr"/>
+			<link field="folder" reltype="has_a" key="id" map="" class="rof"/>
+		</links>
+	</class>
+	<class id="rmsr" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::materialized_simple_record" oils_persist:tablename="reporter.materialized_simple_record" reporter:label="Fast Simple Record Extracts">
+		<fields oils_persist:primary="id">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Record ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Fingerprint" name="fingerprint" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Overall Record Quality" name="quality" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="TCN Source" name="tcn_source" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="TCN Value" name="tcn_value" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Title Proper (normalized)" name="title" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Author (normalized)" name="author" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Publisher (normalized)" name="publisher" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Publication Year (normalized)" name="pubdate" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="ISBN" name="isbn" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="ISSN" name="issn" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Full Bibliographic record" name="biblio_record" oils_obj:array_position="14" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="biblio_record" reltype="might_have" key="id" map="" class="bre"/>
+		</links>
+	</class>
+	<class id="rssr" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::super_simple_record" oils_persist:tablename="reporter.super_simple_record" reporter:label="Simple Record Extracts">
+		<fields oils_persist:primary="id">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Record ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Fingerprint" name="fingerprint" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Overall Record Quality" name="quality" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="TCN Source" name="tcn_source" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="TCN Value" name="tcn_value" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Title Proper (normalized)" name="title" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Author (normalized)" name="author" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Publisher (normalized)" name="publisher" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Publication Year (normalized)" name="pubdate" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="ISBN" name="isbn" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="ISSN" name="issn" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Full Bibliographic record" name="biblio_record" oils_obj:array_position="14" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="biblio_record" reltype="might_have" key="id" map="" class="bre"/>
+		</links>
+	</class>
+	<class id="rsr" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::simple_record" oils_persist:tablename="reporter.simple_record">
+		<fields oils_persist:primary="id">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Record ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Metarecord" name="metarecord" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Fingerprint" name="fingerprint" oils_obj:array_position="5" oils_persist:virtual="false" />
+			<field reporter:label="Overall Record Quality" name="quality" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="TCN Source" name="tcn_source" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="TCN Value" name="tcn_value" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Title Proper (normalized)" name="title" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Uniform Title (normalized)" name="uniform_title" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Author (normalized)" name="author" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Publisher (normalized)" name="publisher" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Publication Year (normalized)" name="pubdate" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="int"/>
+			<field reporter:label="Series Title (normalized)" name="series_title" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Series Statement (normalized)" name="series_statement" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Summary (normalized)" name="summary" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="ISBN" name="isbn" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="ISSN" name="issn" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Topic Subjects (normalized)" name="topic_subject" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Geographic Subjects (normalized)" name="geographic_subject" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Genres (normalized)" name="genre" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Personal Name Subjects (normalized)" name="name_subject" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Corporate Name Subjects (normalized)" name="corporate_subject" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="External URI List (normalized)" name="external_uri" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Full Bibliographic record" name="biblio_record" oils_obj:array_position="25" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="metarecord" reltype="has_a" key="id" map="" class="mmr"/>
+			<link field="biblio_record" reltype="might_have" key="id" map="" class="bre"/>
+		</links>
+	</class>
+	<class id="rud" controller="open-ils.reporter-store open-ils.cstore" oils_obj:fieldmapper="reporter::user_demographic" oils_persist:tablename="reporter.demographic" reporter:label="User Demographics">
+		<fields oils_persist:primary="id">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="User ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Date of Birth" name="dob" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="General Demographic Division" name="general_division" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="id" reltype="might_have" key="id" map="" class="au"/>
+		</links>
+	</class>
+	<class id="rcirct" controller="open-ils.reporter-store open-ils.cstore" oils_obj:fieldmapper="reporter::circulation_type" oils_persist:tablename="reporter.circ_type" reporter:label="Circulation Type">
+		<fields oils_persist:primary="id">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Circulation ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Circulation Type" name="type" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="id" reltype="might_have" key="id" map="" class="circ"/>
+		</links>
+	</class>
+	<class id="rhrr" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::hold_request_record" oils_persist:tablename="reporter.hold_request_record">
+		<fields oils_persist:primary="id">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Hold ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Hold Target" name="target" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Hold Request Type" name="hold_type" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Target Bib Record" name="bib_record" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="id" reltype="might_have" key="id" map="" class="ahr"/>
+			<link field="bib_record" reltype="has_a" key="id" map="" class="bre"/>
+		</links>
+	</class>
+	<class id="rxbt" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::xact_billing_totals" oils_persist:tablename="reporter.xact_billing_totals">
+		<fields oils_persist:primary="xact">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Transaction ID" name="xact" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Unvoided Billing Amount" name="unvoided" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Voided Billing Amount" name="voided" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field reporter:label="Total Billing Amount" name="total" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="money"/>
+		</fields>
+		<links>
+			<link field="xact" reltype="might_have" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+	<class id="rxpt" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::xact_paid_totals" oils_persist:tablename="reporter.xact_paid_totals">
+		<fields oils_persist:primary="xact">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Transaction ID" name="xact" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Unvoided Paid Amount" name="unvoided" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Voided (Returned) Paid Amount" name="voided" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field reporter:label="Total Paid Amount" name="total" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="money"/>
+		</fields>
+		<links>
+			<link field="xact" reltype="might_have" key="id" map="" class="mbt"/>
+		</links>
+	</class>
+
+    <class id="erfcc" controller="open-ils.reporter-store" oils_obj:fieldmapper="extend_reporter::full_circ_count" oils_persist:tablename="extend_reporter.full_circ_count" reporter:label="Total Circulation Count, Including Legacy">
+        <fields oils_persist:primary="id">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="Copy ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="int" />
+            <field reporter:label="Total Circulation Count" name="circ_count" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
+        </fields>
+        <links>
+            <link field="id" reltype="has_a" key="id" map="" class="acp"/>
+        </links>
+    </class>
+
+    <class id="ergbhu"
+           controller="open-ils.reporter-store"
+           oils_obj:fieldmapper="extend_reporter::global_bibs_by_holding_update"
+           oils_persist:tablename="extend_reporter.global_bibs_by_holding_update"
+           reporter:label="Bib IDs by Holding Add/Delete Time (OCLC batch update)">
+        <fields oils_persist:primary="id">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="Bib ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+            <field reporter:label="Update Time" name="holding_update" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp" />
+            <field reporter:label="Update Type" name="update_type" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" />
+        </fields>
+        <links>
+            <link field="id" reltype="has_a" key="id" map="" class="bre"/>
+        </links>
+    </class>
+
+	<!-- ********************************************************************************************************************* -->
+	<!-- What follows is a set of example extensions that are useful for PINES.  Comment out or remove if you don't want them. -->
+	<!-- ********************************************************************************************************************* -->
+	<class id="rccc" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::classic_current_circ" oils_persist:tablename="reporter.classic_current_circ" reporter:core="true" reporter:label="Classic Circulation View">
+		<fields oils_persist:primary="id">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Circulation" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Library Circulation Location Short (Policy) Name" name="circ_lib" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Library Circulation Location Link" name="circ_lib_id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Circulation Date/Time" name="xact_start" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulation Type" name="circ_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Copy Link" name="copy_id" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Circ Modifier" name="circ_modifier" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Owning Library Short (Policy) Name" name="owning_lib_name" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Item Language" name="language" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Literary Form" name="lit_form" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="MARC Form" name="item_form" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="MARC Type" name="item_type" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Shelving Location" name="shelving_location" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Patron Profile Group" name="profile_group" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Patron Age Demographic" name="demographic_general_division" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Call Number Link" name="call_number" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Call Number Label" name="call_number_label" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Call Number Dewey/Prefix" name="dewey" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Patron Link" name="patron_id" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron Home Library Link" name="patron_home_lib" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron Home Library Short (Policy) Name" name="patron_home_lib_shortname" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Patron County" name="patron_county" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Patron City" name="patron_city" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Patron ZIP Code" name="patron_zip" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Legacy CAT1 Link" name="stat_cat_1" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Legacy CAT2 Link" name="stat_cat_2" oils_obj:array_position="28" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Dewey Range -- Tens" name="dewey_range_tens" oils_obj:array_position="29" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Dewey Range -- Hundreds" name="dewey_range_hundreds" oils_obj:array_position="30" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Dewey Block -- Tens" name="dewey_block_tens" oils_obj:array_position="31" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Dewey Block -- Hundreds" name="dewey_block_hundreds" oils_obj:array_position="32" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Legacy CAT1 Value" name="stat_cat_1_value" oils_obj:array_position="33" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Legacy CAT2 Value" name="stat_cat_2_value" oils_obj:array_position="34" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="id" reltype="has_a" key="id" map="" class="circ"/>
+			<link field="copy_id" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="patron_id" reltype="has_a" key="id" map="" class="au"/>
+			<link field="circ_lib_id" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="call_number" reltype="has_a" key="id" map="" class="acn"/>
+			<link field="patron_home_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="stat_cat_1" reltype="has_a" key="id" map="" class="rsce1"/>
+			<link field="stat_cat_2" reltype="has_a" key="id" map="" class="rsce2"/>
+		</links>
+	</class>
+
+	<class id="rsce1" controller="open-ils.reporter-store open-ils.cstore" oils_obj:fieldmapper="reporter::legacy_cat1" oils_persist:tablename="reporter.legacy_cat1" reporter:label="CAT1 Entry">
+		<fields oils_persist:primary="id">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Entry ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="value" reporter:datatype="id" />
+			<field reporter:label="Entry Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Entry Value" name="value" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+
+	<class id="rsce2" controller="open-ils.reporter-store open-ils.cstore" oils_obj:fieldmapper="reporter::legacy_cat2" oils_persist:tablename="reporter.legacy_cat2" reporter:label="CAT2 Entry">
+		<fields oils_persist:primary="id">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Entry ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="value" reporter:datatype="id" />
+			<field reporter:label="Entry Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Entry Value" name="value" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+		</fields>
+		<links>
+			<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+
+	<class id="rccbs" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::classic_current_billing_summary" oils_persist:tablename="reporter.classic_current_billing_summary" reporter:core="true" reporter:label="Classic Open Transaction Summary">
+		<fields oils_persist:primary="id">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Transaction ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+
+			<field reporter:label="Billing Location Short (Policy) Name" name="billing_location_shortname" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Billing Location Name" name="billing_location_name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Billing Location Link" name="billing_location" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+
+			<field reporter:label="User Home Library Short (Policy) Name" name="usr_home_ou_shortname" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="User Home Library Name" name="usr_home_ou_name" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="User Home Library Link" name="usr_home_ou" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+
+			<field reporter:label="User Barcode" name="barcode" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="User Link" name="usr" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+
+			<field reporter:label="Transaction Start Date/Time" name="xact_start" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transaction End Date/Time" name="xact_finish" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transaction Type" name="xact_type" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="text"/>
+
+			<field reporter:label="Total Paid" name="total_paid" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field reporter:label="Total Billed" name="total_owed" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="money"/>
+
+			<field reporter:label="Last Payment Date/Time" name="last_payment_ts" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Payment Note" name="last_payment_note" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Last Payment Type" name="last_payment_type" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="text"/>
+
+			<field reporter:label="Last Billing Date/Time" name="last_billing_ts" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Last Billing Note" name="last_billing_note" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Last Billing Type" name="last_billing_type" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="text"/>
+
+			<field reporter:label="User Age Demographic" name="demographic_general_division" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="User County" name="patron_county" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="User City" name="patron_city" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="User ZIP Code" name="patron_zip" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="text"/>
+
+			<field reporter:label="Balance Owed" name="balance_owed" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="money"/>
+			<field reporter:label="User Profile Group" name="profile_group" oils_obj:array_position="28" oils_persist:virtual="false" reporter:datatype="text"/>
+
+		</fields>
+		<links>
+			<link field="id" reltype="has_a" key="id" map="" class="mbt"/>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="usr_home_ou" reltype="has_a" key="id" map="" class="aou"/>
+		</links>
+	</class>
+
+	<class id="iatc" controller="open-ils.reporter-store" oils_obj:fieldmapper="action::intersystem_transit_copy" oils_persist:readonly="true" reporter:core="true" reporter:label="Inter-system Copy Transit">
+		<oils_persist:source_definition>
+
+			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:primary="id" oils_persist:sequence="action.transit_copy_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Pretransit Copy Status" name="copy_status" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Destination" name="dest" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Receive Date/Time" name="dest_recv_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transit ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id"/>
+			<field reporter:label="Is Persistent? (unused)" name="persistant_transfer" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Previous Hop (unused)" name="prev_hop" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Source" name="source" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Send Date/Time" name="source_send_time" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Transited Copy" name="target_copy" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Hold Transit" name="hold_transit_copy" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
+		</fields>
+		<links>
+			<link field="hold_transit_copy" reltype="might_have" key="id" map="" class="ahtc"/>
+			<link field="source" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
+			<link field="dest" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+		</links>
+	</class>
+
+	<class id="rodcirc" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::overdue_circs" oils_persist:tablename="reporter.overdue_circs" reporter:core="true" reporter:label="Overdue Circulation">
+		<fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
+			<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+			<field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+			<field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+			<field reporter:label="Check In Library" name="checkin_lib" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+			<field reporter:label="Check In Staff" name="checkin_staff" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Check In Date/Time" name="checkin_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
+			<field reporter:label="Circulating Staff" name="circ_staff" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Desk Renewal" name="desk_renewal" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Due Date/Time" name="due_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulation Duration" name="duration" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Circ Duration Rule" name="duration_rule" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Fine Interval" name="fine_interval" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="interval"/>
+			<field reporter:label="Circ ID" name="id" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="id" />
+			<field reporter:label="Max Fine Amount" name="max_fine" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Max Fine Rule" name="max_fine_rule" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="OPAC Renewal" name="opac_renewal" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Phone Renewal" name="phone_renewal" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="bool"/>
+			<field reporter:label="Recurring Fine Amount" name="recuring_fine" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="money" />
+			<field reporter:label="Recurring Fine Rule" name="recuring_fine_rule" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Remaining Renewals" name="renewal_remaining" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="int" />
+			<field reporter:label="Fine Stop Reason" name="stop_fines" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+			<field reporter:label="Fine Stop Date/Time" name="stop_fines_time" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+			<field reporter:label="Circulating Item" name="target_copy" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Patron" name="usr" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="link"/>
+			<field reporter:label="Transaction Finish Date/Time" name="xact_finish" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Check Out Date/Time" name="xact_start" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="timestamp" />
+			<field reporter:label="Transaction Billings" name="billings" oils_obj:array_position="27" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Transaction Payments" name="payments" oils_obj:array_position="28" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Base Transaction" name="billable_transaction" oils_obj:array_position="29" oils_persist:virtual="true" reporter:datatype="link"/>
+			<field reporter:label="Circulation Type" name="circ_type" oils_obj:array_position="30" oils_persist:virtual="true" reporter:datatype="text"/>
+			<field reporter:label="Billing Totals" name="billing_total" oils_obj:array_position="31" oils_persist:virtual="true" reporter:datatype="money"/>
+			<field reporter:label="Payment Totals" name="payment_total" oils_obj:array_position="32" oils_persist:virtual="true" reporter:datatype="money"/>
+		</fields>
+		<links>
+			<link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
+			<link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+			<link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
+			<link field="usr" reltype="has_a" key="id" map="" class="au"/>
+			<link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+			<link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
+			<link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
+			<link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
+			<link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
+			<link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
+			<link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
+			<link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
+			<link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
+		</links>
+	</class>
+
+    <class id="rocit" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::classic_item_list" oils_persist:tablename="reporter.classic_item_list" reporter:core="true" reporter:label="Classic Item List">
+        <fields oils_persist:primary="id">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="Title" name="title" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Author" name="author" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Pubdate" name="pubdate" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Copy ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id"/>
+            <field reporter:label="Price" name="price" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="money"/>
+            <field reporter:label="Barcode" name="barcode" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Callnumber Label" name="call_number_label" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Dewy Tens" name="dewey_block_tens" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Dewy Hundreds" name="dewey_block_hundreds" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Use Count" name="use_count" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="int"/>
+            <field reporter:label="Circ Modifier" name="circ_modifier" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Shelving Location Name" name="shelving_location" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Legacy Stat Cat 1" name="stat_cat_1" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Legacy Stat Cat 2" name="stat_cat_2" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Legacy Stat Cat 1 Value" name="stat_cat_1_value" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Legacy Stat Cat 2 Value" name="stat_cat_2_value" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Edit Date" name="edit_date" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+            <field reporter:label="Create Date" name="create_date" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+            <field reporter:label="Owning Lib Name" name="owning_lib_name" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Circ Lib Name" name="circ_lib_name" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Owning Lib" name="owning_lib" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="link"/>
+            <field reporter:label="Circ Lib" name="circ_lib" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="link"/>
+            <field reporter:label="Creator" name="creator" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="link"/>
+            <field reporter:label="Age Protection" name="age_protect" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="link"/>
+            <field reporter:label="OPAC Visible" name="opac_visible" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="bool"/>
+            <field reporter:label="Reference" name="ref" oils_obj:array_position="28" oils_persist:virtual="false" reporter:datatype="bool"/>
+            <field reporter:label="Deposit Amount" name="deposit_amount" oils_obj:array_position="29" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Deleted" name="deleted" oils_obj:array_position="30" oils_persist:virtual="false" reporter:datatype="bool"/>
+            <field reporter:label="TCN" name="tcn_value" oils_obj:array_position="31" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Status" name="status" oils_obj:array_position="32" oils_persist:virtual="false" reporter:datatype="link"/>
+            <field reporter:label="Stop Fines Reason" name="stop_fines" oils_obj:array_position="33" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Due Date" name="due_date" oils_obj:array_position="34" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+            <field reporter:label="Patron Barcode" name="patron_barcode" oils_obj:array_position="35" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Patron Name" name="patron_name" oils_obj:array_position="36" oils_persist:virtual="false" reporter:datatype="text"/>
+        </fields>
+        <links>
+            <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+            <link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+            <link field="creator" reltype="has_a" key="id" map="" class="au"/>
+            <link field="age_protect" reltype="has_a" key="id" map="" class="crahp"/>
+            <link field="status" reltype="has_a" key="id" map="" class="ccs"/>
+        </links>
+    </class>
+
+    <class id="rmocbbol" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::money::open_circ_balance_by_owning_lib" oils_persist:tablename="money.open_circ_balance_by_owning_lib" reporter:core="true" reporter:label="Open Circulation Billing by Owning Library">
+        <fields oils_persist:primary="id">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="Circulation ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+            <field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+            <field reporter:label="Billing Type" name="billing_type" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Total Billed" name="billed" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="money"/>
+        </fields>
+        <links>
+            <link field="id" reltype="has_a" key="id" map="" class="circ"/>
+            <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+        </links>
+    </class>
+
+    <class id="rmobbol" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::money::open_balance_by_owning_lib" oils_persist:tablename="money.open_balance_by_owning_lib" reporter:core="true" reporter:label="Open Circulation Balance by Owning Library">
+        <fields oils_persist:primary="owning_lib">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+            <field reporter:label="Billing Types" name="billing_types" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Balance" name="balance" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money"/>
+        </fields>
+        <links>
+            <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+        </links>
+    </class>
+
+    <class id="rmocbbcol" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::money::open_circ_balance_by_circ_and_owning_lib" oils_persist:tablename="money.open_circ_balance_by_circ_and_owning_lib" reporter:core="true" reporter:label="Open Circulation Billing by Circulating Library and Owning Library">
+        <fields oils_persist:primary="id">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="Circulation ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+            <field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+            <field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+            <field reporter:label="Billing Type" name="billing_type" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Total Billed" name="billed" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="money"/>
+        </fields>
+        <links>
+            <link field="id" reltype="has_a" key="id" map="" class="circ"/>
+            <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+            <link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+        </links>
+    </class>
+
+    <class id="rmobbcol" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::money::open_balance_by_circ_and_owning_lib" oils_persist:tablename="money.open_balance_by_circ_and_owning_lib" reporter:core="true" reporter:label="Open Circulation Balance by Circulating Library and Owning Library">
+        <fields oils_persist:primary="circ_lib">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+            <field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+            <field reporter:label="Billing Types" name="billing_types" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Balance" name="balance" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="money"/>
+        </fields>
+        <links>
+            <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+            <link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
+        </links>
+    </class>
+
+    <class id="rmocbbhol" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::money::open_circ_balance_by_usr_home_and_owning_lib" oils_persist:tablename="money.open_circ_balance_by_usr_home_and_owning_lib" reporter:core="true" reporter:label="Open Circulation Billing by User Home Library and Owning Library">
+        <fields oils_persist:primary="id">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="Circulation ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+            <field reporter:label="User Home Library" name="home_ou" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+            <field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+            <field reporter:label="Billing Type" name="billing_type" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Total Billed" name="billed" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="money"/>
+        </fields>
+        <links>
+            <link field="id" reltype="has_a" key="id" map="" class="circ"/>
+            <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+            <link field="home_ou" reltype="has_a" key="id" map="" class="aou"/>
+        </links>
+    </class>
+
+    <class id="rmobbhol" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::money::open_balance_by_usr_home_and_owning_lib" oils_persist:tablename="money.open_balance_by_usr_home_and_owning_lib" reporter:core="true" reporter:label="Open Circulation Balance by User Home Library and Owning Library">
+        <fields oils_persist:primary="home_ou">
+            <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+            <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+            <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+            <field reporter:label="User Home Library" name="home_ou" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+            <field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+            <field reporter:label="Billing Types" name="billing_types" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+            <field reporter:label="Balance" name="balance" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="money"/>
+        </fields>
+        <links>
+            <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+            <link field="home_ou" reltype="has_a" key="id" map="" class="aou"/>
+        </links>
+    </class>
+
+
+	<!-- ********************************************************************************************************************* -->
+
+</IDL>

Modified: conifer/trunk/tools/patch_conifer.sh
===================================================================
--- conifer/trunk/tools/patch_conifer.sh	2009-03-15 18:24:10 UTC (rev 184)
+++ conifer/trunk/tools/patch_conifer.sh	2009-03-15 19:50:27 UTC (rev 185)
@@ -3,7 +3,7 @@
 REMOTE_CANONICAL_SVN_DIR=svn://svn.open-ils.org/ILS/branches/rel_1_4
 CANONICAL_SVN_DIR=/home/opensrf/Evergreen-rel_1_4/Open-ILS
 CANONICAL_EXPORT_DIR=/home/opensrf/rel_1_4_export
-REMOTE_SVN_DIR=svn://svn.open-ils.org/ILS-Contrib/conifer/trunk
+REMOTE_SVN_DIR=svn://svn.open-ils.org/ILS-Contrib/conifer
 LOCAL_SVN_DIR=/home/opensrf/conifer-svn
 LOCAL_EXPORT_DIR=/home/opensrf/conifer-export
 INSTALL_DIR=/openils
@@ -42,14 +42,15 @@
 {
 	# Copy the impossible-to-be-harmful (really!) Web stuff in place
 	# Images
-	cp -r "$LOCAL_EXPORT_DIR"/web/opac/images/* "$INSTALL_DIR"/var/web/opac/images/.
+	cp -r "$LOCAL_EXPORT_DIR"/trunk/web/opac/images/* "$INSTALL_DIR"/var/web/opac/images/.
 	# DTD files for replacement strings
-	cp -r "$LOCAL_EXPORT_DIR"/web/opac/locale/* "$INSTALL_DIR"/var/web/opac/locale/.
+	cp -r "$LOCAL_EXPORT_DIR"/trunk/web/opac/locale/* "$INSTALL_DIR"/var/web/opac/locale/.
 }
 
 copy_opac_skins()
 {
-	SKINS=`cd "$LOCAL_EXPORT_DIR"/web/opac/skin; ls -1`
+	SKINS=`cd "$LOCAL_EXPORT_DIR"/trunk/web/opac/skin; ls -1`
+	LINKS=`cd "$INSTALL_DIR"/var/web/opac/skin/default/; find xml -type l -print`
 
 	# For skins, create a _test variation of each
 	# Copy the default skin in place first, then copy our custom files over top
@@ -57,8 +58,15 @@
 	for skin in $SKINS
 	do
 		rm -fr "$INSTALL_DIR"/var/web/opac/skin/"$skin"_test
-		cp -lr "$CANONICAL_EXPORT_DIR"/Open-ILS/web/opac/skin/default "$INSTALL_DIR"/var/web/opac/skin/"$skin"_test
-		cp -r "$LOCAL_EXPORT_DIR"/web/opac/skin/"$skin"/* "$INSTALL_DIR"/var/web/opac/skin/"$skin"_test/.
+		cp -r "$CANONICAL_EXPORT_DIR"/Open-ILS/web/opac/skin/default "$INSTALL_DIR"/var/web/opac/skin/"$skin"_test
+		cp -r "$LOCAL_EXPORT_DIR"/trunk/web/opac/skin/"$skin"/* "$INSTALL_DIR"/var/web/opac/skin/"$skin"_test/.
+
+		for xml_link in $LINKS
+		do
+			cd "$INSTALL_DIR"/var/web/opac/skin/"$skin"_test/xml
+			ln -sf index.xml `basename "$xml_link"`
+		done
+
 		for munge_file in 'page_rdetail.xml'
 		do
 			sed -i -e 's/skin\/default\/js/skin\/default_test\/js/' "$INSTALL_DIR"/var/web/opac/skin/"$skin"_test/xml/"$munge_file"
@@ -69,7 +77,7 @@
 # We'll need to restart Perl services after an update of circ rules
 copy_circ_rules()
 {
-	for circ_rule in `ls -1 "$LOCAL_EXPORT_DIR"/circ/*`
+	for circ_rule in `ls -1 "$LOCAL_EXPORT_DIR"/trunk/circ/*`
 	do
 		base_circ=`basename "$circ_rule"`
 		if cmp "$circ_rule" "$LOCAL_EG_DIR"/var/circ/"$base_circ" &> /dev/null
@@ -85,9 +93,9 @@
 # And similarly, we might want to only trigger these manually
 copy_perl_modules()
 {
-	for perl_mod in `cd "$LOCAL_EXPORT_DIR"/src/perlmods/; find OpenILS -name "*.pm" -print0`
+	for perl_mod in `cd "$LOCAL_EXPORT_DIR"/trunk/src/perlmods/; find OpenILS -name "*.pm" -print0`
 	do
-		if cmp "$LOCAL_EXPORT_DIR"/src/perlmods/"$perl_mod" "$LOCAL_EG_DIR"/lib/perl5/"$perl_mod" &> /dev/null
+		if cmp "$LOCAL_EXPORT_DIR"/trunk/src/perlmods/"$perl_mod" "$LOCAL_EG_DIR"/lib/perl5/"$perl_mod" &> /dev/null
 		then echo -n
 		else
 			cp --backup=numbered "$perl_mod" "$INSTALL_DIR"/lib/perl5/"$perl_mod"
@@ -103,12 +111,12 @@
 # And it could potentially break the whole thing.
 copy_conf_files()
 {
-	for conf in `ls -1 "$LOCAL_EXPORT_DIR"/conf/*`
+	for conf in `ls -1 "$LOCAL_EXPORT_DIR"/branches/rel_1_4/conf/*`
 	do
-		if cmp "$LOCAL_EXPORT_DIR"/conf/"$conf" "$LOCAL_EG_DIR"/conf/"$conf" &> /dev/null
+		if cmp "$LOCAL_EXPORT_DIR"/branches/rel_1_4/conf/"$conf" "$LOCAL_EG_DIR"/conf/"$conf" &> /dev/null
 		then echo -n
 		else
-			cp --backup=numbered "$LOCAL_EXPORT_DIR"/conf/"$conf" "$INSTALL_DIR"/conf/.
+			cp --backup=numbered "$LOCAL_EXPORT_DIR"/branches/rel_1_4/conf/"$conf" "$INSTALL_DIR"/conf/.
 		fi
 	done
 }



More information about the open-ils-commits mailing list