arg! typo
[Evergreen.git] / Open-ILS / examples / fm_IDL.xml
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <!--
4
5 Copyright (C) 2006-2008 Georgia Public Library Service
6 Copyright (C) 2008 Equinox Software, Inc
7 Author: Mike Rylander <miker@esilibrary.com>
8
9 This program is free software; you can redistribute it and/or
10 modify it under the terms of the GNU General Public License
11 as published by the Free Software Foundation; either version 2
12 of the License, or (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
22
23 -->
24
25 <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">
26
27         <!-- Virtual classes -->
28         <class id="mups" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_payment_summary" oils_persist:virtual="true">
29                 <fields>
30                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
31                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
32                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
33                         <field name="usr" oils_obj:array_position="3" oils_persist:virtual="true" />
34                         <field name="forgive_payment" oils_obj:array_position="4" oils_persist:virtual="true" />
35                         <field name="work_payment" oils_obj:array_position="5" oils_persist:virtual="true" />
36                         <field name="credit_payment" oils_obj:array_position="6" oils_persist:virtual="true" />
37                         <field name="goods_payment" oils_obj:array_position="7" oils_persist:virtual="true" />
38                 </fields>
39                 <links>
40                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
41                 </links>
42         </class>
43
44         <class id="mwps" controller="open-ils.cstore" oils_obj:fieldmapper="money::workstation_payment_summary" oils_persist:virtual="true">
45                 <fields>
46                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
47                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
48                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
49                         <field name="workstation" oils_obj:array_position="3" oils_persist:virtual="true" />
50                         <field name="cash_payment" oils_obj:array_position="4" oils_persist:virtual="true" />
51                         <field name="check_payment" oils_obj:array_position="5" oils_persist:virtual="true" />
52                         <field name="credit_card_payment" oils_obj:array_position="6" oils_persist:virtual="true" />
53                 </fields>
54                 <links>
55                         <link field="workstation" reltype="has_a" key="id" map="" class="aws"/>
56                 </links>
57         </class>
58
59         <class id="brn" controller="open-ils.cstore" oils_obj:fieldmapper="biblio::record_node" oils_persist:virtual="true">
60                 <fields>
61                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
62                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
63                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
64                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="true" />
65                         <field name="children" oils_obj:array_position="3" oils_persist:virtual="true" />
66                         <field name="owner_doc" oils_obj:array_position="9" oils_persist:virtual="true" />
67                         <field name="intra_doc_id" oils_obj:array_position="5" oils_persist:virtual="true" />
68                         <field name="parent_node" oils_obj:array_position="10" oils_persist:virtual="true" />
69                         <field name="node_type" oils_obj:array_position="8" oils_persist:virtual="true" />
70                         <field name="namespace_uri" oils_obj:array_position="7" oils_persist:virtual="true" />
71                         <field name="name" oils_obj:array_position="6" oils_persist:virtual="true" />
72                         <field name="value" oils_obj:array_position="11" oils_persist:virtual="true" />
73                 </fields>
74         </class>
75
76         <class id="mvr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::virtual_record" oils_persist:virtual="true">
77                 <fields>
78                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
79                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
80                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
81                         <field name="title" oils_obj:array_position="19" oils_persist:virtual="true" />
82                         <field name="author" oils_obj:array_position="3" oils_persist:virtual="true" />
83                         <field name="doc_id" oils_obj:array_position="6" oils_persist:virtual="true" />
84                         <field name="doc_type" oils_obj:array_position="7" oils_persist:virtual="true" />
85                         <field name="pubdate" oils_obj:array_position="12" oils_persist:virtual="true" />
86                         <field name="isbn" oils_obj:array_position="9" oils_persist:virtual="true" />
87                         <field name="publisher" oils_obj:array_position="13" oils_persist:virtual="true" />
88                         <field name="tcn" oils_obj:array_position="18" oils_persist:virtual="true" />
89                         <field name="subject" oils_obj:array_position="16" oils_persist:virtual="true" />
90                         <field name="types_of_resource" oils_obj:array_position="21" oils_persist:virtual="true" />
91                         <field name="call_numbers" oils_obj:array_position="4" oils_persist:virtual="true" />
92                         <field name="edition" oils_obj:array_position="8" oils_persist:virtual="true" />
93                         <field name="online_loc" oils_obj:array_position="10" oils_persist:virtual="true" />
94                         <field name="synopsis" oils_obj:array_position="17" oils_persist:virtual="true" />
95                         <field name="physical_description" oils_obj:array_position="11" oils_persist:virtual="true" />
96                         <field name="toc" oils_obj:array_position="20" oils_persist:virtual="true" />
97                         <field name="copy_count" oils_obj:array_position="5" oils_persist:virtual="true" />
98                         <field name="series" oils_obj:array_position="15" oils_persist:virtual="true" />
99                         <field name="serials" oils_obj:array_position="14" oils_persist:virtual="true" />
100                 </fields>
101         </class>
102
103         <class id="ex" controller="open-ils.cstore" oils_obj:fieldmapper="ex" oils_persist:virtual="true">
104                 <fields>
105                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
106                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
107                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
108                         <field name="err_msg" oils_obj:array_position="3" oils_persist:virtual="true" />
109                         <field name="type" oils_obj:array_position="4" oils_persist:virtual="true" />
110                 </fields>
111         </class>
112
113         <class id="perm_ex" controller="open-ils.cstore" oils_obj:fieldmapper="perm_ex" oils_persist:virtual="true">
114                 <fields>
115                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
116                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
117                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
118                         <field name="err_msg" oils_obj:array_position="3" oils_persist:virtual="true" />
119                         <field name="type" oils_obj:array_position="4" oils_persist:virtual="true" />
120                 </fields>
121         </class>
122
123         <class id="amtr" controller="open-ils.cstore" oils_obj:fieldmapper="action::matrix_test_result" oils_persist:virtual="true">
124                 <fields oils_persist:primary="matchpoint">
125                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
126                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
127                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
128                         <field reporter:label="Matchpoint ID" name="matchpoint" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
129                         <field reporter:label="Success" name="success" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
130                         <field reporter:label="Failure Part" name="fail_part" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
131                 </fields>
132                 <links>
133                         <link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
134                 </links>
135         </class>
136
137
138         <!-- Actually in the DB -->
139         <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">
140                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_org_unit_opt_in_id_seq">
141                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
142                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
143                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
144                         <field reporter:label="Opt-in ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
145                         <field reporter:label="Workstation" name="opt_in_ws" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
146                         <field reporter:label="Staff Member" name="staff" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
147                         <field reporter:label="User" name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
148                         <field reporter:label="Allowed Org Unit" name="org_unit" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
149                         <field reporter:label="Opt-in Date/Time" name="opt_in_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
150                 </fields>
151                 <links>
152                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
153                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
154                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
155                         <link field="opt_in_ws" reltype="has_a" key="id" map="" class="aws"/>
156                 </links>
157         </class>
158
159         <class id="aws" controller="open-ils.cstore" oils_obj:fieldmapper="actor::workstation" oils_persist:tablename="actor.workstation" reporter:label="Workstation">
160                 <fields oils_persist:primary="id" oils_persist:sequence="actor.workstation_id_seq">
161                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
162                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
163                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
164                         <field reporter:label="Workstation ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
165                         <field reporter:label="Workstation Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
166                         <field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
167                 </fields>
168                 <links>
169                         <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
170                 </links>
171         </class>
172
173         <class id="ccm" controller="open-ils.cstore" oils_obj:fieldmapper="config::circ_modifier" oils_persist:tablename="config.circ_modifier" reporter:label="Circulation Modifier">
174                 <fields oils_persist:primary="code">
175                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
176                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
177                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
178                         <field reporter:label="Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
179                         <field reporter:label="Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
180                         <field reporter:label="Description" name="description" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
181                         <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"/>
182                         <field reporter:label="Magnetic Media" name="magnetic_media" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
183                 </fields>
184                 <links/>
185         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
186             <actions>
187                 <create permission="CREATE_CIRC_MOD" context_field="parent_ou"/>
188                 <retrieve/>
189                 <update permission="UPDATE_CIRC_MOD" context_field="parent_ou"/>
190                 <delete permission="DELETE_CIRC_MOD" context_field="parent_ou"/>
191             </actions>
192         </permacrud>
193         </class>
194
195         <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">
196                 <fields oils_persist:primary="code">
197                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
198                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
199                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
200                         <field reporter:label="Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
201                         <field reporter:label="Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
202                 </fields>
203                 <links/>
204         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
205             <actions>
206                 <create permission="CREATE_VR_FORMAT" global_required="true"/>
207                 <retrieve/>
208                 <update permission="UPDATE_VR_FORMAT" global_required="true"/>
209                 <delete permission="DELETE_VR_FORMAT" global_required="true"/>
210             </actions>
211         </permacrud>
212         </class>
213
214         <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">
215                 <fields oils_persist:primary="id" oils_persist:sequence="config.hold_matrix_matchpoint_id_seq">
216                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
217                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
218                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
219                         <field reporter:label="Matchpoint ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
220                         <field reporter:label="Active?" name="active" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
221                         <field reporter:label="User Home Library" name="user_home_ou" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
222                         <field reporter:label="Request Library" name="request_ou" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
223                         <field reporter:label="Pickup Library" name="pickup_ou" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
224                         <field reporter:label="Owning Library" name="item_owning_ou" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
225                         <field reporter:label="Item Circ Library" name="item_circ_ou" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
226                         <field reporter:label="User Permission Group" name="usr_grp" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
227                         <field reporter:label="Requestor Permission Group" name="requestor_grp" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
228                         <field reporter:label="Circulation Modifier" name="circ_modifier" oils_obj:array_position="12" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
229                         <field reporter:label="MARC Type" name="marc_type" oils_obj:array_position="13" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
230                         <field reporter:label="MARC Form" name="marc_form" oils_obj:array_position="14" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
231                         <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"/>
232                         <field reporter:label="Reference?" name="ref_flag" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
233                 </fields>
234                 <links>
235                         <link field="user_home_ou" reltype="has_a" key="id" map="" class="aou"/>
236                         <link field="request_ou" reltype="has_a" key="id" map="" class="aou"/>
237                         <link field="pickup_ou" reltype="has_a" key="id" map="" class="aou"/>
238                         <link field="item_owning_ou" reltype="has_a" key="id" map="" class="aou"/>
239                         <link field="item_circ_ou" reltype="has_a" key="id" map="" class="aou"/>
240                         <link field="usr_grp" reltype="has_a" key="id" map="" class="pgt"/>
241                         <link field="requestor_grp" reltype="has_a" key="id" map="" class="pgt"/>
242                         <link field="circ_modifier" reltype="has_a" key="id" map="" class="ccm"/>
243                         <link field="marc_type" reltype="has_a" key="id" map="" class="ccm"/>
244                         <link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
245                         <link field="marc_form" reltype="has_a" key="code" map="" class="cifm"/>
246                         <link field="marc_vr_format" reltype="has_a" key="code" map="" class="cvrfm"/>
247                 </links>
248         </class>
249
250         <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">
251                 <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_matchpoint_id_seq">
252                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
253                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
254                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
255                         <field reporter:label="Matchpoint ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
256                         <field reporter:label="Active?" name="active" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
257                         <field reporter:label="Org Unit" name="org_unit" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
258                         <field reporter:label="Permission Group" name="grp" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
259                         <field reporter:label="Circulation Modifier" name="circ_modifier" oils_obj:array_position="7" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
260                         <field reporter:label="MARC Type" name="marc_type" oils_obj:array_position="8" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
261                         <field reporter:label="MARC Form" name="marc_form" oils_obj:array_position="9" oils_persist:virtual="false" oils_persist:primitive="string" reporter:datatype="link"/>
262                         <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"/>
263                         <field reporter:label="Reference?" name="ref_flag" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="bool"/>
264                         <field reporter:label="User Age: Lower Bound" name="usr_age_lower_bound" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
265                         <field reporter:label="User Age: Upper Bound" name="usr_age_upper_bound" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
266                 </fields>
267                 <links>
268                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
269                         <link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
270                         <link field="circ_modifier" reltype="has_a" key="id" map="" class="ccm"/>
271                         <link field="marc_type" reltype="has_a" key="id" map="" class="ccm"/>
272                         <link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
273                         <link field="marc_form" reltype="has_a" key="code" map="" class="cifm"/>
274                         <link field="marc_vr_format" reltype="has_a" key="code" map="" class="cvrfm"/>
275                 </links>
276         </class>
277
278         <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">
279                 <fields oils_persist:primary="matchpoint">
280                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
281                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
282                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
283                         <field reporter:label="Matchpoint ID" name="matchpoint" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
284                         <field reporter:label="Holdable?" name="holdable" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
285                         <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"/>
286                         <field reporter:label="Transit Range" name="transit_range" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int"/>
287                         <field reporter:label="Max Holds" name="max_holds" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="int"/>
288                         <field reporter:label="Max includes Frozen" name="include_frozen_holds" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
289                         <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"/>
290                 </fields>
291                 <links>
292                         <link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
293                         <link field="age_hold_protect_rule" reltype="has_a" key="id" map="" class="crahp"/>
294                 </links>
295         </class>
296
297         <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">
298                 <fields oils_persist:primary="matchpoint">
299                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
300                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
301                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
302                         <field reporter:label="Matchpoint ID" name="matchpoint" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
303                         <field reporter:label="Circulate?" name="circulate" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
304                         <field reporter:label="Max Items Out" name="max_items_out" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="int"/>
305                         <field reporter:label="Max Overdue" name="max_overdue" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int"/>
306                         <field reporter:label="Max Fines" name="max_fines" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="money"/>
307                         <field reporter:label="Test Script" name="script_test" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
308                 </fields>
309                 <links>
310                         <link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
311                 </links>
312         </class>
313
314         <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">
315                 <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_circ_mod_test_id_seq">
316                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
317                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
318                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
319                         <field reporter:label="Test ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
320                         <field reporter:label="Matchpoint ID" name="matchpoint" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
321                         <field reporter:label="Items Out" name="items_out" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="int"/>
322                         <field reporter:label="Circulation Modifier" name="circ_mod" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
323                 </fields>
324                 <links>
325                         <link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
326                         <link field="circ_mod" reltype="has_a" key="id" map="" class="ccm"/>
327                 </links>
328         </class>
329
330         <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">
331                 <fields oils_persist:primary="matchpoint">
332                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
333                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
334                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
335                         <field reporter:label="Matchpoint ID" name="matchpoint" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id"/>
336                         <field reporter:label="Duration Rule" name="duration_rule" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
337                         <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
338                         <field reporter:label="Max Fine Rule" name="max_fine_rule" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
339                 </fields>
340                 <links>
341                         <link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
342                         <link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
343                         <link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
344                         <link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
345                 </links>
346         </class>
347
348         <class id="cit" controller="open-ils.cstore" oils_obj:fieldmapper="config::identification_type" oils_persist:tablename="config.identification_type" reporter:label="Identification Type">
349                 <fields oils_persist:primary="id" oils_persist:sequence="config.identification_type_id_seq">
350                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
351                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
352                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
353                         <field reporter:label="Identification ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
354                         <field reporter:label="Identification Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
355                 </fields>
356                 <links/>
357         </class>
358
359         <class id="asvq" controller="open-ils.cstore" oils_obj:fieldmapper="action::survey_question" oils_persist:tablename="action.survey_question" reporter:label="User Survey Question">
360                 <fields oils_persist:primary="id" oils_persist:sequence="action.survey_question_id_seq">
361                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
362                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
363                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
364                         <field reporter:label="Answers" name="answers" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
365                         <field reporter:label="Responses" name="responses" oils_obj:array_position="4" oils_persist:virtual="true" reporter:datatype="link"/>
366                         <field reporter:label="Question ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
367                         <field reporter:label="Question" name="question" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
368                         <field reporter:label="Survey" name="survey" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
369                 </fields>
370                 <links>
371                         <link field="survey" reltype="has_a" key="id" map="" class="asv"/>
372                         <link field="responses" reltype="has_many" key="question" map="" class="asvr"/>
373                         <link field="answers" reltype="has_many" key="question" map="" class="asva"/>
374                 </links>
375         </class>
376         <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">
377                 <fields oils_persist:primary="id" oils_persist:sequence="">
378                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
379                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
380                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
381                         <field reporter:label="Balance Owed" name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money"/>
382                         <field reporter:label="Transaction ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id"/>
383                         <field reporter:label="Last Billing Note" name="last_billing_note" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
384                         <field reporter:label="Last Billing Timestamp" name="last_billing_ts" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
385                         <field reporter:label="Last Billing Type" name="last_billing_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
386                         <field reporter:label="Last Payment Note" name="last_payment_note" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
387                         <field reporter:label="Last Payment Timestamp" name="last_payment_ts" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
388                         <field reporter:label="Last Payment Type" name="last_payment_type" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
389                         <field reporter:label="Total Owed" name="total_owed" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="money"/>
390                         <field reporter:label="Total Paid" name="total_paid" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="money"/>
391                         <field reporter:label="Billed User" name="usr" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="link"/>
392                         <field reporter:label="Transaction Finish Time" name="xact_finish" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="timestamp" />
393                         <field reporter:label="Transaction Start Time" name="xact_start" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="timestamp" />
394                         <field reporter:label="Transaction Type" name="xact_type" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="text"/>
395                 </fields>
396                 <links>
397                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
398                 </links>
399         </class>
400         <class id="aun" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_note" oils_persist:tablename="actor.usr_note" reporter:label="User Note">
401                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_note_id_seq">
402                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
403                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
404                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
405                         <field reporter:label="Creation Date/Time" name="create_date" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="timestamp"/>
406                         <field reporter:label="Creating Staff" name="creator" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
407                         <field reporter:label="Note ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
408                         <field reporter:label="Is OPAC Visible?" name="pub" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
409                         <field reporter:label="Note Title" name="title" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
410                         <field reporter:label="User" name="usr" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link" />
411                         <field reporter:label="Note Content" name="value" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
412                 </fields>
413                 <links>
414                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
415                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
416                 </links>
417         </class>
418         <class id="aus" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_setting" oils_persist:tablename="actor.usr_setting" reporter:label="User Setting">
419                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_setting_id_seq">
420                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
421                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
422                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
423                         <field reporter:label="Setting ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
424                         <field reporter:label="Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
425                         <field reporter:label="User" name="usr" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
426                         <field reporter:label="Value" name="value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
427                 </fields>
428                 <links>
429                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
430                 </links>
431         </class>
432         <class id="mafe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::author_field_entry" oils_persist:tablename="metabib.author_field_entry">
433                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.author_field_entry_id_seq">
434                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
435                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
436                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
437                         <field name="field" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
438                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
439                         <field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
440                         <field name="value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
441                 </fields>
442                 <links>
443                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
444                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
445                 </links>
446         </class>
447         <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">
448                 <fields oils_persist:primary="id" oils_persist:sequence="action.in_house_use_id_seq">
449                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
450                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
451                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
452                         <field reporter:label="Use ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
453                         <field reporter:label="Item" name="item" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
454                         <field reporter:label="Using Library" name="org_unit" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
455                         <field reporter:label="Recording Staff" name="staff" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
456                         <field reporter:label="Use Date/Time" name="use_time" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="timestamp"/>
457                 </fields>
458                 <links>
459                         <link field="item" reltype="has_a" key="id" map="" class="acp"/>
460                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
461                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
462                 </links>
463         </class>
464         <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">
465                 <fields oils_persist:primary="id" oils_persist:sequence="action.non_cat_in_house_use_id_seq">
466                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
467                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
468                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
469                         <field reporter:label="Use ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
470                         <field reporter:label="Item Type" name="item_type" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
471                         <field reporter:label="Using Library" name="org_unit" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
472                         <field reporter:label="Recording Staff" name="staff" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
473                         <field reporter:label="Use Date/Time" name="use_time" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="timestamp"/>
474                 </fields>
475                 <links>
476                         <link field="item_type" reltype="has_a" key="id" map="" class="cnct"/>
477                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
478                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
479                 </links>
480         </class>
481         <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">
482                 <fields oils_persist:primary="id" oils_persist:sequence="action.transit_copy_id_seq">
483                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
484                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
485                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
486                         <field reporter:label="Pretransit Copy Status" name="copy_status" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="bool"/>
487                         <field reporter:label="Destination" name="dest" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
488                         <field reporter:label="Receive Date/Time" name="dest_recv_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
489                         <field reporter:label="Transit ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id"/>
490                         <field reporter:label="Is Persistent? (unused)" name="persistant_transfer" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
491                         <field reporter:label="Previous Hop (unused)" name="prev_hop" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
492                         <field reporter:label="Source" name="source" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
493                         <field reporter:label="Send Date/Time" name="source_send_time" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="timestamp"/>
494                         <field reporter:label="Transited Copy" name="target_copy" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
495                         <field reporter:label="Hold Transit" name="hold_transit_copy" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
496                 </fields>
497                 <links>
498                         <link field="hold_transit_copy" reltype="might_have" key="id" map="" class="ahtc"/>
499                         <link field="source" reltype="has_a" key="id" map="" class="aou"/>
500                         <link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
501                         <link field="dest" reltype="has_a" key="id" map="" class="aou"/>
502                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
503                 </links>
504         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
505             <actions>
506                 <create permission="TRANSIT_COPY"/>
507                 <retrieve/>
508                 <update permission="UPDATE_TRANSIT" context_field="dest|source"/>
509                 <delete permission="DELETE_TRANSIT" context_field="dest|source"/>
510             </actions>
511         </permacrud>
512         </class>
513         <class id="asvr" controller="open-ils.cstore" oils_obj:fieldmapper="action::survey_response" oils_persist:tablename="action.survey_response" reporter:label="Survey Response">
514                 <fields oils_persist:primary="id" oils_persist:sequence="action.survey_response_id_seq">
515                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
516                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
517                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
518                         <field reporter:label="Answer" name="answer" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
519                         <field reporter:label="Answer Date/Time" name="answer_date" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
520                         <field reporter:label="Effective Answer Date/Time" name="effective_date" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
521                         <field reporter:label="Answer ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
522                         <field reporter:label="Question" name="question" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
523                         <field reporter:label="Response Group ID" name="response_group_id" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="int" />
524                         <field reporter:label="Survey" name="survey" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
525                         <field reporter:label="Responding User" name="usr" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
526                 </fields>
527                 <links>
528                         <link field="question" reltype="has_a" key="id" map="" class="asvq"/>
529                         <link field="survey" reltype="has_a" key="id" map="" class="asv"/>
530                         <link field="answer" reltype="has_a" key="id" map="" class="asva"/>
531                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
532                 </links>
533         </class>
534         <class id="ccbi" controller="open-ils.cstore" oils_obj:fieldmapper="container::copy_bucket_item" oils_persist:tablename="container.copy_bucket_item">
535                 <fields oils_persist:primary="id" oils_persist:sequence="container.copy_bucket_item_id_seq">
536                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
537                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
538                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
539                         <field name="bucket" oils_obj:array_position="3" oils_persist:virtual="false" />
540                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
541                         <field name="target_copy" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
542                         <field name="create_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp" />
543                 </fields>
544                 <links>
545                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
546                         <link field="bucket" reltype="has_a" key="id" map="" class="ccb"/>
547                 </links>
548         </class>
549         <class id="are" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_entry" oils_persist:tablename="authority.record_entry">
550                 <fields oils_persist:primary="id" oils_persist:sequence="authority.record_entry_id_seq">
551                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
552                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
553                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
554                         <field name="active" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="bool"/>
555                         <field name="arn_source" oils_obj:array_position="4" oils_persist:virtual="false" />
556                         <field name="arn_value" oils_obj:array_position="5" oils_persist:virtual="false" />
557                         <field name="create_date" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
558                         <field name="creator" oils_obj:array_position="7" oils_persist:virtual="false" />
559                         <field name="deleted" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
560                         <field name="edit_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
561                         <field name="editor" oils_obj:array_position="10" oils_persist:virtual="false" />
562                         <field name="id" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="id" />
563                         <field name="last_xact_id" oils_obj:array_position="12" oils_persist:virtual="false" />
564                         <field name="marc" oils_obj:array_position="13" oils_persist:virtual="false" />
565                         <field name="source" oils_obj:array_position="14" oils_persist:virtual="false" />
566                         <field name="fixed_fields" oils_obj:array_position="15" oils_persist:virtual="true" />
567                         <field name="notes" oils_obj:array_position="16" oils_persist:virtual="true" />
568                 </fields>
569                 <links>
570                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
571                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
572                         <link field="notes" reltype="has_many" key="record" map="" class="arn"/>
573                         <link field="fixed_fields" reltype="might_have" key="record" map="" class="ard"/>
574                 </links>
575         </class>
576         <class id="ard" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_descriptor" oils_persist:tablename="authority.rec_descriptor">
577                 <fields oils_persist:primary="id" oils_persist:sequence="authority.rec_descriptor_id_seq">
578                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
579                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
580                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
581                         <field name="char_encoding" oils_obj:array_position="3" oils_persist:virtual="false" />
582                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" />
583                         <field name="record" oils_obj:array_position="5" oils_persist:virtual="false" />
584                         <field name="record_status" oils_obj:array_position="6" oils_persist:virtual="false" />
585                 </fields>
586                 <links>
587                         <link field="record" reltype="has_a" key="id" map="" class="are"/>
588                 </links>
589         </class>
590         <class id="clm" controller="open-ils.cstore" oils_obj:fieldmapper="config::language_map" oils_persist:tablename="config.language_map" reporter:label="Language Map">
591                 <fields oils_persist:primary="code" oils_persist:sequence="">
592                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
593                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
594                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
595                         <field reporter:label="Language Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="value" reporter:datatype="text"/>
596                         <field reporter:label="Language" name="value" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
597                 </fields>
598                 <links/>
599         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
600             <actions>
601                 <create permission="CREATE_LANGUAGE" global_required="true"/>
602                 <retrieve/>
603                 <update permission="UPDATE_LANGUAGE" global_required="true"/>
604                 <delete permission="DELETE_LANGUAGE" global_required="true"/>
605             </actions>
606         </permacrud>
607         </class>
608         <class id="mccp" controller="open-ils.cstore" oils_obj:fieldmapper="money::credit_card_payment" oils_persist:tablename="money.credit_card_payment">
609                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
610                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
611                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
612                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
613                         <field name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" />
614                         <field name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
615                         <field name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
616                         <field name="approval_code" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
617                         <field name="cash_drawer" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
618                         <field name="cc_number" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
619                         <field name="cc_type" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
620                         <field name="expire_month" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="int" />
621                         <field name="expire_year" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="int" />
622                         <field name="id" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="id" />
623                         <field name="note" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
624                         <field name="payment_ts" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="timestamp"/>
625                         <field name="xact" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
626                         <field name="payment_type" oils_obj:array_position="16" oils_persist:virtual="true" reporter:datatype="text"/>
627                         <field name="payment" oils_obj:array_position="17" oils_persist:virtual="true" reporter:datatype="link"/>
628                 </fields>
629                 <links>
630                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
631                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
632                         <link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
633                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
634                 </links>
635         </class>
636         <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">
637                 <fields oils_persist:primary="name">
638                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
639                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
640                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
641                         <field name="field_class" oils_obj:array_position="3" oils_persist:virtual="false" />
642                         <field reporter:label="Name" name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" />
643                         <field reporter:label="Namespace URI" name="namespace_uri" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
644                         <field reporter:label="Namespace Prefix" name="prefix" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
645                         <field reporter:label="XSLT" name="xslt" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text" />
646                 </fields>
647                 <links/>
648         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
649             <actions>
650                 <create permission="CREATE_XML_TRANSFORM" global_required="true"/>
651                 <retrieve/>
652                 <update permission="UPDATE_XML_TRANSFORM" global_required="true"/>
653                 <delete permission="DELETE_XML_TRANSFORM" global_required="true"/>
654             </actions>
655         </permacrud>
656         </class>
657         <class id="cmf" controller="open-ils.cstore" oils_obj:fieldmapper="config::metabib_field" oils_persist:tablename="config.metabib_field">
658                 <fields oils_persist:primary="id" oils_persist:sequence="config.metabib_field_id_seq">
659                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
660                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
661                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
662                         <field name="field_class" oils_obj:array_position="3" oils_persist:virtual="false" />
663                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
664                         <field name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
665                         <field name="xpath" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
666                         <field name="weight" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="int" />
667                         <field name="format" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
668                         <field name="search_field" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool" />
669                         <field name="facet_field" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="bool" />
670                 </fields>
671                 <links/>
672         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
673             <actions>
674                 <create permission="CREATE_METABIB_FIELD" global_required="true"/>
675                 <retrieve/>
676                 <update permission="UPDATE_METABIB_FIELD" global_required="true"/>
677                 <delete permission="DELETE_METABIB_FIELD" global_required="true"/>
678             </actions>
679         </permacrud>
680         </class>
681         <class id="cam" controller="open-ils.cstore" oils_obj:fieldmapper="config::audience_map" oils_persist:tablename="config.audience_map" reporter:label="Audience Map">
682                 <fields oils_persist:primary="code" oils_persist:sequence="">
683                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
684                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
685                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
686                         <field reporter:label="Audience Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="value" reporter:datatype="text"/>
687                         <field reporter:label="Description" name="description" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true" />
688                         <field reporter:label="Audience" name="value" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
689                 </fields>
690                 <links/>
691         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
692             <actions>
693                 <create permission="CREATE_AUDIENCE" global_required="true"/>
694                 <retrieve/>
695                 <update permission="UPDATE_AUDIENCE" global_required="true"/>
696                 <delete permission="DELETE_AUDIENCE" global_required="true"/>
697             </actions>
698         </permacrud>
699         </class>
700         <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">
701                 <fields oils_persist:primary="code" oils_persist:sequence="">
702                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
703                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
704                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
705                         <field reporter:label="Item Form Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="value" reporter:datatype="text"/>
706                         <field reporter:label="Item Form" name="value" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
707                 </fields>
708                 <links/>
709         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
710             <actions>
711                 <create permission="CREATE_ITEM_FORM" global_required="true"/>
712                 <retrieve/>
713                 <update permission="UPDATE_ITEM_FORM" global_required="true"/>
714                 <delete permission="DELETE_ITEM_FORM" global_required="true"/>
715             </actions>
716         </permacrud>
717         </class>
718         <class id="acn" controller="open-ils.cstore" oils_obj:fieldmapper="asset::call_number" oils_persist:tablename="asset.call_number" reporter:label="Call Number/Volume">
719                 <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_id_seq">
720                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
721                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
722                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
723                         <field reporter:label="Copies" name="copies" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
724                         <field reporter:label="Create Date/Time" name="create_date" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
725                         <field reporter:label="Creating User" name="creator" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
726                         <field reporter:label="Is Deleted" name="deleted" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
727                         <field reporter:label="Last Edit Date/Time" name="edit_date" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="timestamp"/>
728                         <field reporter:label="Last Editing User" name="editor" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
729                         <field reporter:label="Call Number/Volume ID" name="id" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="id" />
730                         <field reporter:label="Call Number Label" name="label" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
731                         <field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="11" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
732                         <field reporter:label="Bib Record" name="record" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="link"/>
733                         <field reporter:label="Notes" name="notes" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
734                 </fields>
735                 <links>
736                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
737                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
738                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
739                         <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
740                         <link field="notes" reltype="has_many" key="call_number" map="" class="acnn"/>
741                         <link field="copies" reltype="has_many" key="call_number" map="" class="acp"/>
742                 </links>
743         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
744             <actions>
745                 <create permission="CREATE_VOLUME" context_field="owning_lib"/>
746                 <retrieve/>
747                 <update permission="UPDATE_VOLUME" context_field="owning_lib"/>
748                 <delete permission="DELETE_VOLUME" context_field="owning_lib"/>
749             </actions>
750         </permacrud>
751         </class>
752         <class id="cst" controller="open-ils.cstore" oils_obj:fieldmapper="config::standing" oils_persist:tablename="config.standing">
753                 <fields oils_persist:primary="id" oils_persist:sequence="config.standing_id_seq">
754                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
755                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
756                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
757                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
758                         <field name="value" oils_obj:array_position="4" oils_persist:virtual="false" oils_persist:i18n="true" />
759                 </fields>
760                 <links/>
761         </class>
762         <class id="mous" controller="open-ils.cstore" oils_obj:fieldmapper="money::open_user_summary" oils_persist:tablename="money.open_usr_summary">
763                 <fields oils_persist:primary="usr" oils_persist:sequence="">
764                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
765                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
766                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
767                         <field name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
768                         <field name="total_owed" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
769                         <field name="total_paid" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
770                         <field name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
771                 </fields>
772                 <links/>
773         </class>
774         <class id="mct" controller="open-ils.cstore" oils_obj:fieldmapper="money::collections_tracker" oils_persist:tablename="money.collections_tracker">
775                 <fields oils_persist:primary="id" oils_persist:sequence="money.collections_tracker_id_seq">
776                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
777                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
778                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
779                         <field name="collector" oils_obj:array_position="3" oils_persist:virtual="false" />
780                         <field name="enter_time" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
781                         <field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
782                         <field name="location" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
783                         <field name="usr" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
784                 </fields>
785                 <links>
786                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
787                         <link field="collector" reltype="has_a" key="id" map="" class="au"/>
788                         <link field="location" reltype="has_a" key="id" map="" class="aou"/>
789                 </links>
790         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
791             <actions>
792                 <create permission="money.collections_tracker.create" context_field="location"/>
793                 <retrieve/>
794                 <delete permission="money.collections_tracker.create" context_field="location"/>
795             </actions>
796         </permacrud>
797         </class>
798         <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">
799                 <fields oils_persist:primary="id" oils_persist:sequence="biblio.record_entry_id_seq">
800                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
801                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
802                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
803                         <field reporter:label="Call Numbers" name="call_numbers" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
804                         <field reporter:label="Fixed Field Entry" name="fixed_fields" oils_obj:array_position="4" oils_persist:virtual="true" reporter:datatype="link"/>
805                         <field reporter:label="Is Active?" name="active" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="bool"/>
806                         <field reporter:label="Record Creation Date/Time" name="create_date" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
807                         <field reporter:label="Record Creator" name="creator" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
808                         <field reporter:label="Is Deleted?" name="deleted" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
809                         <field reporter:label="Last Edit Data/Time" name="edit_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
810                         <field reporter:label="Last Editing User" name="editor" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
811                         <field reporter:label="Fingerprint" name="fingerprint" oils_obj:array_position="11" oils_persist:virtual="false"  reporter:datatype="text"/>
812                         <field reporter:label="Record ID" name="id" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="id" />
813                         <field reporter:label="Last Transaction ID" name="last_xact_id" oils_obj:array_position="13" oils_persist:virtual="false"  reporter:datatype="text"/>
814                         <field reporter:label="MARC21Slim" name="marc" oils_obj:array_position="14" oils_persist:virtual="false"  reporter:datatype="text"/>
815                         <field reporter:label="Overall Quality" name="quality" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="int" />
816                         <field reporter:label="Record Source" name="source" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="link"/>
817                         <field reporter:label="TCN Source" name="tcn_source" oils_obj:array_position="17" oils_persist:virtual="false"  reporter:datatype="text"/>
818                         <field reporter:label="TCN Value" name="tcn_value" oils_obj:array_position="18" oils_persist:virtual="false"  reporter:datatype="text"/>
819                         <field reporter:label="Metarecord" name="metarecord" oils_obj:array_position="19" oils_persist:virtual="true" reporter:datatype="link"/>
820                         <field reporter:label="Language Code" name="language" oils_obj:array_position="20" oils_persist:virtual="true" reporter:datatype="link"/>
821                         <field reporter:label="Non-MARC Record Notes" name="notes" oils_obj:array_position="21" oils_persist:virtual="true" reporter:datatype="link"/>
822                         <field reporter:label="Indexed Keyword Field Entries" name="keyword_field_entries" oils_obj:array_position="22" oils_persist:virtual="true" reporter:datatype="link"/>
823                         <field reporter:label="Indexed Subject Field Entries" name="subject_field_entries" oils_obj:array_position="23" oils_persist:virtual="true" reporter:datatype="link"/>
824                         <field reporter:label="Indexed Title Field Entries" name="title_field_entries" oils_obj:array_position="24" oils_persist:virtual="true" reporter:datatype="link"/>
825                         <field reporter:label="Indexed Author Field Entries" name="author_field_entries" oils_obj:array_position="25" oils_persist:virtual="true" reporter:datatype="link"/>
826                         <field reporter:label="Indexed Series Field Entries" name="series_field_entries" oils_obj:array_position="26" oils_persist:virtual="true" reporter:datatype="link"/>
827                         <field reporter:label="Flattened MARC Fields " name="full_record_entries" oils_obj:array_position="27" oils_persist:virtual="true" reporter:datatype="link"/>
828                         <field reporter:label="Simple Record Extracts " name="simple_record" oils_obj:array_position="28" oils_persist:virtual="true" reporter:datatype="link"/>
829                 </fields>
830                 <links>
831                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
832                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
833                         <link field="simple_record" reltype="might_have" key="id" map="" class="rssr"/>
834                         <link field="metarecord" reltype="might_have" key="source" map="metarecord" class="mmrsm"/>
835                         <link field="call_numbers" reltype="has_many" key="record" map="" class="acn"/>
836                         <link field="keyword_field_entries" reltype="has_many" key="source" map="" class="mkfe"/>
837                         <link field="fixed_fields" reltype="might_have" key="record" map="" class="mrd"/>
838                         <link field="language" reltype="might_have" key="record" map="item_lang" class="mrd"/>
839                         <link field="subject_field_entries" reltype="has_many" key="source" map="" class="msfe"/>
840                         <link field="title_field_entries" reltype="has_many" key="source" map="" class="mtfe"/>
841                         <link field="notes" reltype="has_many" key="record" map="" class="bren"/>
842                         <link field="author_field_entries" reltype="has_many" key="source" map="" class="mafe"/>
843                         <link field="series_field_entries" reltype="has_many" key="source" map="" class="msefe"/>
844                         <link field="full_record_entries" reltype="has_many" key="record" map="" class="mfr"/>
845                 </links>
846         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
847             <actions>
848                 <create permission="CREATE_MARC|IMPORT_MARC" global_required="true"/>
849                 <retrieve/>
850                 <update permission="UPDATE_MARC" global_required="true"/>
851             </actions>
852         </permacrud>
853         </class>
854         <class id="aouhoo" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit::hours_of_operation" oils_persist:tablename="actor.hours_of_operation">
855                 <fields oils_persist:primary="id" oils_persist:sequence="">
856                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
857                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
858                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
859                         <field name="dow_0_close" oils_obj:array_position="3" oils_persist:virtual="false" />
860                         <field name="dow_0_open" oils_obj:array_position="4" oils_persist:virtual="false" />
861                         <field name="dow_1_close" oils_obj:array_position="5" oils_persist:virtual="false" />
862                         <field name="dow_1_open" oils_obj:array_position="6" oils_persist:virtual="false" />
863                         <field name="dow_2_close" oils_obj:array_position="7" oils_persist:virtual="false" />
864                         <field name="dow_2_open" oils_obj:array_position="8" oils_persist:virtual="false" />
865                         <field name="dow_3_close" oils_obj:array_position="9" oils_persist:virtual="false" />
866                         <field name="dow_3_open" oils_obj:array_position="10" oils_persist:virtual="false" />
867                         <field name="dow_4_close" oils_obj:array_position="11" oils_persist:virtual="false" />
868                         <field name="dow_4_open" oils_obj:array_position="12" oils_persist:virtual="false" />
869                         <field name="dow_5_close" oils_obj:array_position="13" oils_persist:virtual="false" />
870                         <field name="dow_5_open" oils_obj:array_position="14" oils_persist:virtual="false" />
871                         <field name="dow_6_close" oils_obj:array_position="15" oils_persist:virtual="false" />
872                         <field name="dow_6_open" oils_obj:array_position="16" oils_persist:virtual="false" />
873                         <field name="id" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="id" />
874                         <field name="org_unit" oils_obj:array_position="18" oils_persist:virtual="true" reporter:datatype="org_unit"/>
875                 </fields>
876                 <links>
877                         <link field="org_unit" reltype="might_have" key="id" map="" class="aou"/>
878                 </links>
879         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
880             <actions>
881                 <create permission="CREATE_HOURS_OF_OPERATION" context_field="org_unit"/>
882                 <retrieve/>
883                 <update permission="UPDATE_HOURS_OF_OPERATION" context_field="org_unit"/>
884                 <delete permission="DELETE_HOURS_OF_OPERATION" context_field="org_unit"/>
885             </actions>
886         </permacrud>
887         </class>
888         <class id="aoucd" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit::closed_date" oils_persist:tablename="actor.org_unit_closed">
889                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_closed_id_seq">
890                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
891                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
892                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
893                         <field name="close_end" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="timestamp" />
894                         <field name="close_start" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp" />
895                         <field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
896                         <field name="org_unit" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="org_unit"/>
897                         <field name="reason" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
898                 </fields>
899                 <links>
900                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
901                 </links>
902         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
903             <actions>
904                 <create permission="CREATE_ORG_UNIT_CLOSING" context_field="org_unit"/>
905                 <retrieve/>
906                 <update permission="UPDATE_ORG_UNIT_CLOSING" context_field="org_unit"/>
907                 <delete permission="DELETE_ORG_UNIT_CLOSING" context_field="org_unit"/>
908             </actions>
909         </permacrud>
910         </class>
911         <class id="crcd" controller="open-ils.cstore" oils_obj:fieldmapper="config::rules::circ_duration" oils_persist:tablename="config.rule_circ_duration">
912                 <fields oils_persist:primary="id" oils_persist:sequence="config.rule_circ_duration_id_seq">
913                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
914                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
915                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
916                         <field name="extended" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="interval"/>
917                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
918                         <field name="max_renewals" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="int" />
919                         <field name="name" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
920                         <field name="normal" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="interval"/>
921                         <field name="shrt" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="interval"/>
922                 </fields>
923                 <links>
924                 </links>
925         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
926             <actions>
927                 <create permission="CREATE_CIRC_DURATION" global_required="true"/>
928                 <retrieve/>
929                 <update permission="UPDATE_CIRC_DURATION" global_required="true"/>
930                 <delete permission="DELETE_CIRC_DURATION" global_required="true"/>
931             </actions>
932         </permacrud>
933         </class>
934         <class id="mobts" controller="open-ils.cstore" oils_obj:fieldmapper="money::open_billable_transaction_summary" oils_persist:tablename="money.open_billable_xact_summary">
935                 <fields oils_persist:primary="id" oils_persist:sequence="">
936                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
937                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
938                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
939                         <field name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money"/>
940                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
941                         <field name="last_billing_note" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
942                         <field name="last_billing_ts" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
943                         <field name="last_billing_type" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
944                         <field name="last_payment_note" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
945                         <field name="last_payment_ts" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
946                         <field name="last_payment_type" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
947                         <field name="total_owed" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="money"/>
948                         <field name="total_paid" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="money"/>
949                         <field name="usr" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="link"/>
950                         <field name="xact_finish" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="timestamp" />
951                         <field name="xact_start" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="timestamp" />
952                         <field name="xact_type" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="text"/>
953                         <field name="xact" oils_obj:array_position="17" oils_persist:virtual="true" reporter:datatype="link"/>
954                         <field name="grocery" oils_obj:array_position="18" oils_persist:virtual="true" reporter:datatype="link"/>
955                         <field name="circulation" oils_obj:array_position="19" oils_persist:virtual="true" reporter:datatype="link"/>
956                         <field name="billing_location" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="link"/>
957                 </fields>
958                 <links>
959                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
960                         <link field="xact" reltype="might_have" key="id" map="" class="mbt"/>
961                         <link field="circulation" reltype="might_have" key="id" map="" class="circ"/>
962                         <link field="grocery" reltype="might_have" key="id" map="" class="mg"/>
963                         <link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
964                 </links>
965         </class>
966         <class id="au" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user" oils_persist:tablename="actor.usr" reporter:core="true" reporter:label="ILS User">
967                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_id_seq">
968                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
969                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
970                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
971                         <field reporter:label="All Addresses" name="addresses" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
972                         <field reporter:label="All Library Cards" name="cards" oils_obj:array_position="4" oils_persist:virtual="true" reporter:datatype="link"/>
973                         <field reporter:label="All Circulations" name="checkouts" oils_obj:array_position="5" oils_persist:virtual="true" reporter:datatype="link"/>
974                         <field reporter:label="All Hold Requests" name="hold_requests" oils_obj:array_position="6" oils_persist:virtual="true" reporter:datatype="link"/>
975                         <field reporter:label="All Permissions" name="permissions" oils_obj:array_position="7" oils_persist:virtual="true" reporter:datatype="link"/>
976                         <field reporter:label="All User Settings" name="settings" oils_obj:array_position="8" oils_persist:virtual="true" reporter:datatype="link"/>
977                         <field reporter:label="Standing Penalties" name="standing_penalties" oils_obj:array_position="9" oils_persist:virtual="true" reporter:datatype="link"/>
978                         <field reporter:label="Statistical Category Entries" name="stat_cat_entries" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
979                         <field reporter:label="Survey Responses" name="survey_responses" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
980                         <field name="ws_ou" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
981                         <field name="wsid" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
982                         <field reporter:label="Active" name="active" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="bool"/>
983                         <field reporter:label="Alert Message" name="alert_message" oils_obj:array_position="15" oils_persist:virtual="false"  reporter:datatype="text"/>
984                         <field reporter:label="Barred" name="barred" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
985                         <field reporter:label="Physical Address" name="billing_address" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="link"/>
986                         <field reporter:label="Current Library Card" name="card" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="link"/>
987                         <field reporter:label="Claims-returned Count" name="claims_returned_count" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="int" />
988                         <field reporter:label="Record Creation Date/Time" name="create_date" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="timestamp"/>
989                         <field reporter:label="User Credit Balance" name="credit_forward_balance" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="money" />
990                         <field reporter:label="Daytime Phone" name="day_phone" oils_obj:array_position="22" oils_persist:virtual="false"  reporter:datatype="text"/>
991                         <field reporter:label="Date of Birth" name="dob" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="timestamp"/>
992                         <field reporter:label="Email Address" name="email" oils_obj:array_position="24" oils_persist:virtual="false"  reporter:datatype="text"/>
993                         <field reporter:label="Evening Phone" name="evening_phone" oils_obj:array_position="25" oils_persist:virtual="false"  reporter:datatype="text"/>
994                         <field reporter:label="Privilege Expiration Date" name="expire_date" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="timestamp"/>
995                         <field reporter:label="Last Name" name="family_name" oils_obj:array_position="27" oils_persist:virtual="false"  reporter:datatype="text"/>
996                         <field reporter:label="First Name" name="first_given_name" oils_obj:array_position="28" oils_persist:virtual="false"  reporter:datatype="text"/>
997                         <field reporter:label="Home Library" name="home_ou" oils_obj:array_position="29" oils_persist:virtual="false" reporter:datatype="org_unit"/>
998                         <field reporter:label="User ID" name="id" oils_obj:array_position="30" oils_persist:virtual="false" reporter:datatype="id" />
999                         <field reporter:label="Primary Identification Type" name="ident_type" oils_obj:array_position="31" oils_persist:virtual="false" reporter:datatype="link"/>
1000                         <field reporter:label="Secondary Identification Type" name="ident_type2" oils_obj:array_position="32" oils_persist:virtual="false" reporter:datatype="link"/>
1001                         <field reporter:label="Primary Identification" name="ident_value" oils_obj:array_position="33" oils_persist:virtual="false"  reporter:datatype="text"/>
1002                         <field reporter:label="Secondary Identification" name="ident_value2" oils_obj:array_position="34" oils_persist:virtual="false"  reporter:datatype="text"/>
1003                         <field name="last_xact_id" oils_obj:array_position="35" oils_persist:virtual="false" reporter:datatype="text"/>
1004                         <field reporter:label="Mailing Address" name="mailing_address" oils_obj:array_position="36" oils_persist:virtual="false" reporter:datatype="link"/>
1005                         <field reporter:label="Is Group Lead Account" name="master_account" oils_obj:array_position="37" oils_persist:virtual="false" reporter:datatype="bool"/>
1006                         <field reporter:label="Internet Access Level" name="net_access_level" oils_obj:array_position="38" oils_persist:virtual="false" reporter:datatype="link"/>
1007                         <field reporter:label="Other Phone" name="other_phone" oils_obj:array_position="39" oils_persist:virtual="false"  reporter:datatype="text"/>
1008                         <field reporter:label="Password (obfuscated)" name="passwd" oils_obj:array_position="40" oils_persist:virtual="false"  reporter:datatype="text"/>
1009                         <field reporter:label="Photo URL" name="photo_url" oils_obj:array_position="41" oils_persist:virtual="false"  reporter:datatype="text"/>
1010                         <field reporter:label="Prefix" name="prefix" oils_obj:array_position="42" oils_persist:virtual="false"  reporter:datatype="text"/>
1011                         <field reporter:label="Main (Profile) Permission Group" name="profile" oils_obj:array_position="43" oils_persist:virtual="false" reporter:datatype="link"/>
1012                         <field reporter:label="Middle Name" name="second_given_name" oils_obj:array_position="44" oils_persist:virtual="false"  reporter:datatype="text"/>
1013                         <field reporter:label="Standing (unused)" name="standing" oils_obj:array_position="45" oils_persist:virtual="false" reporter:datatype="link"/>
1014                         <field reporter:label="Suffix/Title" name="suffix" oils_obj:array_position="46" oils_persist:virtual="false"  reporter:datatype="text"/>
1015                         <field reporter:label="Is Super User" name="super_user" oils_obj:array_position="47" oils_persist:virtual="false" reporter:datatype="bool"/>
1016                         <field reporter:label="Family Linkage or other Group" name="usrgroup" oils_obj:array_position="48" oils_persist:virtual="false" reporter:datatype="int"/>
1017                         <field reporter:label="OPAC/Staff Client User Name" name="usrname" oils_obj:array_position="49" oils_persist:virtual="false"  reporter:datatype="text"/>
1018                         <field reporter:label="Additional Permission Groups" name="groups" oils_obj:array_position="50" oils_persist:virtual="true" reporter:datatype="link"/>
1019                         <field reporter:label="Is Deleted" name="deleted" oils_obj:array_position="51" oils_persist:virtual="false" reporter:datatype="bool"/>
1020                         <field reporter:label="User Notes" name="notes" oils_obj:array_position="52" oils_persist:virtual="true" reporter:datatype="link"/>
1021                         <field reporter:label="Demographic Info" name="demographic" oils_obj:array_position="53" oils_persist:virtual="true" reporter:datatype="link"/>
1022                         <field reporter:label="Billable Transactions" name="billable_transactions" oils_obj:array_position="54" oils_persist:virtual="true" reporter:datatype="link"/>
1023                         <field reporter:label="Checkins" name="checkins" oils_obj:array_position="55" oils_persist:virtual="true" reporter:datatype="link"/>
1024                         <field reporter:label="Circulations Performed as Staff" name="performed_circulations" oils_obj:array_position="56" oils_persist:virtual="true" reporter:datatype="link"/>
1025                 </fields>
1026                 <links>
1027                         <link field="demographic" reltype="might_have" key="id" map="" class="rud"/>
1028                         <link field="net_access_level" reltype="has_a" key="id" map="" class="cnal"/>
1029                         <link field="profile" reltype="has_a" key="id" map="" class="pgt"/>
1030                         <link field="ident_type" reltype="has_a" key="id" map="" class="cit"/>
1031                         <link field="billing_address" reltype="has_a" key="id" map="" class="aua"/>
1032                         <link field="mailing_address" reltype="has_a" key="id" map="" class="aua"/>
1033                         <link field="home_ou" reltype="has_a" key="id" map="" class="aou"/>
1034                         <link field="standing" reltype="has_a" key="id" map="" class="cst"/>
1035                         <link field="card" reltype="has_a" key="id" map="" class="ac"/>
1036                         <link field="ident_type2" reltype="has_a" key="id" map="" class="cit"/>
1037                         <link field="stat_cat_entries" reltype="has_many" key="target_usr" map="" class="actscecm"/>
1038                         <link field="groups" reltype="has_many" key="usr" map="grp" class="pugm"/>
1039                         <link field="usrgroup" reltype="has_many" key="usrgroup" map="" class="au"/>
1040                         <link field="checkouts" reltype="has_many" key="usr" map="" class="circ"/>
1041                         <link field="hold_requests" reltype="has_many" key="usr" map="" class="circ"/>
1042                         <link field="permissions" reltype="has_many" key="usr" map="perm" class="pupm"/>
1043                         <link field="settings" reltype="has_many" key="usr" map="" class="aus"/>
1044                         <link reporter:label="Billable Transactions" field="billable_transactions" reltype="has_many" key="usr" map="" class="mbt"/>
1045                         <link field="standing_penalties" reltype="has_many" key="usr" map="" class="ausp"/>
1046                         <link field="addresses" reltype="has_many" key="usr" map="" class="aua"/>
1047                         <link field="survey_responses" reltype="has_many" key="usr" map="" class="asvr"/>
1048                         <link field="notes" reltype="has_many" key="usr" map="" class="aun"/>
1049                         <link reporter:label="Check-ins Performed as Staff" field="checkins" reltype="has_many" key="checkin_staff" map="" class="circ"/>
1050                         <link field="cards" reltype="has_many" key="usr" map="" class="ac"/>
1051                         <link reporter:label="Circulations Performed as Staff" field="performed_circulations" reltype="has_many" key="circ_staff" map="" class="circ"/>
1052                 </links>
1053         </class>
1054         <class id="aous" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit_setting" oils_persist:tablename="actor.org_unit_setting">
1055                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_setting_id_seq">
1056                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1057                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1058                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1059                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" />
1060                         <field name="name" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text"/>
1061                         <field name="org_unit" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1062                         <field name="value" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
1063                 </fields>
1064                 <links>
1065                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1066                 </links>
1067         </class>
1068         <class id="acpn" controller="open-ils.cstore" oils_obj:fieldmapper="asset::copy_note" oils_persist:tablename="asset.copy_note" reporter:label="Copy Note">
1069                 <fields oils_persist:primary="id" oils_persist:sequence="asset.copy_note_id_seq">
1070                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1071                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1072                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1073                         <field reporter:label="Note Creation Date/Time" name="create_date" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1074                         <field reporter:label="Note Creator" name="creator" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
1075                         <field reporter:label="Note ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
1076                         <field reporter:label="Copy" name="owning_copy" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
1077                         <field reporter:label="Is OPAC Visible?" name="pub" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
1078                         <field reporter:label="Note Title" name="title" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text"/>
1079                         <field reporter:label="Note Content" name="value" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
1080                 </fields>
1081                 <links>
1082                         <link field="owning_copy" reltype="has_a" key="id" map="" class="acp"/>
1083                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
1084                 </links>
1085         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1086             <actions>
1087                 <create permission="CREATE_COPY_NOTE">
1088                     <context link="owning_copy" field="circ_lib"/>
1089                 </create>
1090                 <retrieve permission="VIEW_COPY_NOTES">
1091                     <context link="owning_copy" field="circ_lib"/>
1092                 </retrieve>
1093                 <update permission="UPDATE_COPY_NOTE">
1094                     <context link="owning_copy" field="circ_lib"/>
1095                 </update>
1096                 <delete permission="DELETE_COPY_NOTE">
1097                     <context link="owning_copy" field="circ_lib"/>
1098                 </delete>
1099             </actions>
1100         </permacrud>
1101         </class>
1102         <class id="mfr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::full_rec" oils_persist:tablename="metabib.full_rec" reporter:label="Flattened MARC Fields">
1103                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.full_rec_id_seq">
1104                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1105                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1106                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1107                         <field reporter:label="Field ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
1108                         <field reporter:label="Indicator 1" name="ind1" oils_obj:array_position="4" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1109                         <field reporter:label="Indicator 2" name="ind2" oils_obj:array_position="5" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1110                         <field reporter:label="Bib Record Entry" name="record" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
1111                         <field reporter:label="Subfield" name="subfield" oils_obj:array_position="7" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1112                         <field reporter:label="Tag" name="tag" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text"/>
1113                         <field reporter:label="Normalized Value" name="value" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
1114                 </fields>
1115                 <links>
1116                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
1117                 </links>
1118         </class>
1119         <class id="mmr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::metarecord" oils_persist:tablename="metabib.metarecord">
1120                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.metarecord_id_seq">
1121                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1122                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1123                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1124                         <field name="fingerprint" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
1125                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
1126                         <field name="master_record" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
1127                         <field name="mods" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
1128                         <field name="source_records" oils_obj:array_position="7" oils_persist:virtual="true" reporter:datatype="link"/>
1129                 </fields>
1130                 <links>
1131                         <link field="master_record" reltype="has_a" key="id" map="" class="bre"/>
1132                         <link field="source_records" reltype="has_many" key="metarecord" map="source" class="mmrsm"/>
1133                 </links>
1134         </class>
1135         <class id="cnal" controller="open-ils.cstore" oils_obj:fieldmapper="config::net_access_level" oils_persist:tablename="config.net_access_level">
1136                 <fields oils_persist:primary="id" oils_persist:sequence="config.net_access_level_id_seq">
1137                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1138                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1139                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1140                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
1141                         <field name="name" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text"/>
1142                 </fields>
1143                 <links/>
1144         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1145             <actions>
1146                 <create permission="CREATE_NET_ACCESS_LEVEL" global_required="true"/>
1147                 <retrieve/>
1148                 <update permission="UPDATE_NET_ACCESS_LEVEL" global_required="true"/>
1149                 <delete permission="DELETE_NET_ACCESS_LEVEL" global_required="true"/>
1150             </actions>
1151         </permacrud>
1152         </class>
1153         <class id="ppl" controller="open-ils.cstore" oils_obj:fieldmapper="permission::perm_list" oils_persist:tablename="permission.perm_list">
1154                 <fields oils_persist:primary="id" oils_persist:sequence="permission.perm_list_id_seq">
1155                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1156                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1157                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1158                         <field name="code" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
1159                         <field name="description" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
1160                         <field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:selector="code" reporter:datatype="id"/>
1161                 </fields>
1162                 <links/>
1163         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1164             <actions>
1165                 <create permission="CREATE_PERM" global_required="true"/>
1166                 <retrieve permission="CREATE_PERM|UPDATE_PERM|DELETE_PERM" global_required="true"/>
1167                 <update permission="UPDATE_PERM" global_required="true"/>
1168                 <delete permission="DELETE_PERM" global_required="true"/>
1169             </actions>
1170         </permacrud>
1171         </class>
1172         <class id="mmrsm" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::metarecord_source_map" oils_persist:tablename="metabib.metarecord_source_map">
1173                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.metarecord_source_map_id_seq">
1174                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1175                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1176                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1177                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
1178                         <field name="metarecord" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
1179                         <field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
1180                 </fields>
1181                 <links>
1182                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
1183                         <link field="metarecord" reltype="has_a" key="id" map="" class="mmr"/>
1184                 </links>
1185         </class>
1186         <class id="mkfe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::keyword_field_entry" oils_persist:tablename="metabib.keyword_field_entry">
1187                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.keyword_field_entry_id_seq">
1188                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1189                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1190                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1191                         <field name="field" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
1192                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
1193                         <field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
1194                         <field name="value" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
1195                 </fields>
1196                 <links>
1197                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
1198                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
1199                 </links>
1200         </class>
1201         <class id="mcp" controller="open-ils.cstore" oils_obj:fieldmapper="money::cash_payment" oils_persist:tablename="money.cash_payment">
1202                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
1203                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1204                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1205                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1206                         <field name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
1207                         <field name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
1208                         <field name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
1209                         <field name="cash_drawer" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
1210                         <field name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
1211                         <field name="note" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text"/>
1212                         <field name="payment_ts" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1213                         <field name="xact" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
1214                         <field name="payment_type" oils_obj:array_position="11" oils_persist:virtual="true"  reporter:datatype="text"/>
1215                         <field name="payment" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
1216                 </fields>
1217                 <links>
1218                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
1219                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
1220                         <link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
1221                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
1222                 </links>
1223         </class>
1224         <class id="mfp" controller="open-ils.cstore" oils_obj:fieldmapper="money::forgive_payment" oils_persist:tablename="money.forgive_payment">
1225                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
1226                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1227                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1228                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1229                         <field name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
1230                         <field name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
1231                         <field name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
1232                         <field name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
1233                         <field name="note" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="text"/>
1234                         <field name="payment_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1235                         <field name="xact" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
1236                         <field name="payment_type" oils_obj:array_position="10" oils_persist:virtual="true"  reporter:datatype="text"/>
1237                         <field name="payment" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
1238                 </fields>
1239                 <links>
1240                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
1241                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
1242                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
1243                 </links>
1244         </class>
1245         <class id="mrd" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::record_descriptor" oils_persist:tablename="metabib.rec_descriptor" reporter:label="Basic Record Descriptor">
1246                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.rec_descriptor_id_seq">
1247                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1248                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1249                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1250                         <field reporter:label="Audn" name="audience" oils_obj:array_position="3" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1251                         <field reporter:label="BLvl" name="bib_level" oils_obj:array_position="4" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1252                         <field reporter:label="Cat Form" name="cat_form" oils_obj:array_position="5" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1253                         <field reporter:label="Character Encoding" name="char_encoding" oils_obj:array_position="6" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1254                         <field reporter:label="Ctrl" name="control_type" oils_obj:array_position="7" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1255                         <field reporter:label="ELvl" name="enc_level" oils_obj:array_position="8" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1256                         <field reporter:label="Descriptor ID" name="id" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="id" />
1257                         <field reporter:label="Form" name="item_form" oils_obj:array_position="10" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1258                         <field reporter:label="Lang" name="item_lang" oils_obj:array_position="11" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1259                         <field reporter:label="Type" name="item_type" oils_obj:array_position="12" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1260                         <field reporter:label="LitF" name="lit_form" oils_obj:array_position="13" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1261                         <field reporter:label="Pub Status" name="pub_status" oils_obj:array_position="14" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1262                         <field reporter:label="Bib Record Entry" name="record" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
1263                         <field reporter:label="TMat" name="type_mat" oils_obj:array_position="16" oils_persist:virtual="false" oils_persist:primitive="string"  reporter:datatype="text"/>
1264                         <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"/>
1265                 </fields>
1266                 <links>
1267                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
1268                         <link field="item_lang" reltype="has_a" key="code" map="" class="clm"/>
1269                         <link field="item_type" reltype="has_a" key="code" map="" class="citm"/>
1270                         <link field="bib_level" reltype="has_a" key="code" map="" class="cblvl"/>
1271                         <link field="item_form" reltype="has_a" key="code" map="" class="cifm"/>
1272                         <link field="audience" reltype="has_a" key="code" map="" class="cam"/>
1273                         <link field="lit_form" reltype="has_a" key="code" map="" class="clfm"/>
1274                 </links>
1275         </class>
1276         <class id="ccs" controller="open-ils.cstore" oils_obj:fieldmapper="config::copy_status" oils_persist:tablename="config.copy_status">
1277                 <fields oils_persist:primary="id" oils_persist:sequence="config.copy_status_id_seq">
1278                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1279                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1280                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1281                         <field name="holdable" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="bool"/>
1282                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
1283                         <field name="name" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
1284                 </fields>
1285                 <links/>
1286         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1287             <actions>
1288                 <create permission="CREATE_COPY_STATUS" global_required="true"/>
1289                 <retrieve permission="CREATE_COPY_STATUS|UPDATE_COPY_STATUS|DELETE_COPY_STATUS" global_required="true"/>
1290                 <update permission="UPDATE_COPY_STATUS" global_required="true"/>
1291                 <delete permission="DELETE_COPY_STATUS" global_required="true"/>
1292             </actions>
1293         </permacrud>
1294         </class>
1295         <class id="ausp" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_standing_penalty" oils_persist:tablename="actor.usr_standing_penalty">
1296                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_standing_penalty_id_seq">
1297                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1298                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1299                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1300                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
1301                         <field name="penalty_type" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text"/>
1302                         <field name="usr" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
1303                 </fields>
1304                 <links>
1305                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1306                 </links>
1307         </class>
1308         <class id="aua" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_address" oils_persist:tablename="actor.usr_address" reporter:label="User Address">
1309                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_address_id_seq">
1310                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1311                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1312                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1313                         <field reporter:label="Type" name="address_type" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
1314                         <field reporter:label="City" name="city" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text"/>
1315                         <field reporter:label="Country" name="country" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text"/>
1316                         <field reporter:label="County" name="county" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
1317                         <field reporter:label="Address ID" name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
1318                         <field reporter:label="Postal Code" name="post_code" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
1319                         <field reporter:label="State" name="state" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
1320                         <field reporter:label="Street (1)" name="street1" oils_obj:array_position="10" oils_persist:virtual="false"  reporter:datatype="text"/>
1321                         <field reporter:label="Street (2)" name="street2" oils_obj:array_position="11" oils_persist:virtual="false"  reporter:datatype="text"/>
1322                         <field reporter:label="User" name="usr" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="link"/>
1323                         <field reporter:label="Valid Address?" name="valid" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="bool"/>
1324                         <field reporter:label="Within City Limits?" name="within_city_limits" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="bool"/>
1325                 </fields>
1326                 <links>
1327                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1328                 </links>
1329         </class>
1330         <class id="acnn" controller="open-ils.cstore" oils_obj:fieldmapper="asset::call_number_note" oils_persist:tablename="asset.call_number_note">
1331                 <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_note_id_seq">
1332                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1333                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1334                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1335                         <field name="call_number" oils_obj:array_position="3" oils_persist:virtual="false" />
1336                         <field name="create_date" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1337                         <field name="creator" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
1338                         <field name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
1339                         <field name="pub" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
1340                         <field name="title" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text"/>
1341                         <field name="value" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
1342                 </fields>
1343                 <links>
1344                         <link field="call_number" reltype="has_a" key="id" map="" class="acn"/>
1345                 </links>
1346         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1347             <actions>
1348                 <create permission="CREATE_VOLUME_NOTE">
1349                     <context link="call_number" field="owning_lib"/>
1350                 </create>
1351                 <retrieve permission="VIEW_VOLUME_NOTES">
1352                     <context link="call_number" field="owning_lib"/>
1353                 </retrieve>
1354                 <update permission="UPDATE_VOLUME_NOTE">
1355                     <context link="call_number" field="owning_lib"/>
1356                 </update>
1357                 <delete permission="DELETE_VOLUME_NOTE">
1358                     <context link="call_number" field="owning_lib"/>
1359                 </delete>
1360             </actions>
1361         </permacrud>
1362         </class>
1363         <class id="arn" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_note" oils_persist:tablename="authority.record_note">
1364                 <fields oils_persist:primary="id" oils_persist:sequence="authority.record_note_id_seq">
1365                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1366                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1367                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1368                         <field name="create_date" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1369                         <field name="creator" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
1370                         <field name="edit_date" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1371                         <field name="editor" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
1372                         <field name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
1373                         <field name="record" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
1374                         <field name="value" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text"/>
1375                 </fields>
1376                 <links>
1377                         <link field="record" reltype="has_a" key="id" map="" class="are"/>
1378                 </links>
1379         </class>
1380         <class id="circ" controller="open-ils.cstore" oils_obj:fieldmapper="action::circulation" oils_persist:tablename="action.circulation" reporter:core="true" reporter:label="Circulation">
1381                 <fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
1382                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1383                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1384                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1385                         <field reporter:label="Check In Library" name="checkin_lib" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1386                         <field reporter:label="Check In Staff" name="checkin_staff" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
1387                         <field reporter:label="Check In Date/Time" name="checkin_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1388                         <field reporter:label="Circulating Library" name="circ_lib" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
1389                         <field reporter:label="Circulating Staff" name="circ_staff" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
1390                         <field reporter:label="Desk Renewal" name="desk_renewal" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
1391                         <field reporter:label="Due Date/Time" name="due_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1392                         <field reporter:label="Circulation Duration" name="duration" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="interval"/>
1393                         <field reporter:label="Circ Duration Rule" name="duration_rule" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
1394                         <field reporter:label="Fine Interval" name="fine_interval" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="interval"/>
1395                         <field reporter:label="Circ ID" name="id" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="id" />
1396                         <field reporter:label="Max Fine Amount" name="max_fine" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="money" />
1397                         <field reporter:label="Max Fine Rule" name="max_fine_rule" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="link"/>
1398                         <field reporter:label="OPAC Renewal" name="opac_renewal" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="bool"/>
1399                         <field reporter:label="Phone Renewal" name="phone_renewal" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="bool"/>
1400                         <field reporter:label="Recurring Fine Amount" name="recuring_fine" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="money" />
1401                         <field reporter:label="Recurring Fine Rule" name="recuring_fine_rule" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="link"/>
1402                         <field reporter:label="Remaining Renewals" name="renewal_remaining" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="int" />
1403                         <field reporter:label="Fine Stop Reason" name="stop_fines" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
1404                         <field reporter:label="Fine Stop Date/Time" name="stop_fines_time" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1405                         <field reporter:label="Circulating Item" name="target_copy" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="link"/>
1406                         <field reporter:label="Patron" name="usr" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="link"/>
1407                         <field reporter:label="Transaction Finish Date/Time" name="xact_finish" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="timestamp" />
1408                         <field reporter:label="Check Out Date/Time" name="xact_start" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="timestamp" />
1409                         <field reporter:label="Record Creation Date/Time" name="create_time" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="timestamp" />
1410                         <field reporter:label="Transaction Billings" name="billings" oils_obj:array_position="28" oils_persist:virtual="true" reporter:datatype="link"/>
1411                         <field reporter:label="Transaction Payments" name="payments" oils_obj:array_position="29" oils_persist:virtual="true" reporter:datatype="link"/>
1412                         <field reporter:label="Base Transaction" name="billable_transaction" oils_obj:array_position="30" oils_persist:virtual="true" reporter:datatype="link"/>
1413                         <field reporter:label="Circulation Type" name="circ_type" oils_obj:array_position="31" oils_persist:virtual="true" reporter:datatype="text"/>
1414                         <field reporter:label="Billing Totals" name="billing_total" oils_obj:array_position="32" oils_persist:virtual="true" reporter:datatype="money"/>
1415                         <field reporter:label="Payment Totals" name="payment_total" oils_obj:array_position="33" oils_persist:virtual="true" reporter:datatype="money"/>
1416                 </fields>
1417                 <links>
1418                         <link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
1419                         <link field="circ_staff" reltype="has_a" key="id" map="" class="au"/>
1420                         <link field="checkin_lib" reltype="has_a" key="id" map="" class="aou"/>
1421                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
1422                         <link field="checkin_staff" reltype="has_a" key="id" map="" class="au"/>
1423                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1424                         <link field="circ_lib" reltype="has_a" key="id" map="" class="aou"/>
1425                         <link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
1426                         <link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
1427                         <link field="duration_rule" reltype="has_a" key="name" map="" class="crcd"/>
1428                         <link field="max_fine_rule" reltype="has_a" key="name" map="" class="crmf"/>
1429                         <link field="recuring_fine_rule" reltype="has_a" key="name" map="" class="crrf"/>
1430                         <link field="circ_type" reltype="might_have" key="id" map="" class="rcirct"/>
1431                         <link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
1432                         <link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
1433                 </links>
1434         </class>
1435         <class id="ccnbi" controller="open-ils.cstore" oils_obj:fieldmapper="container::call_number_bucket_item" oils_persist:tablename="container.call_number_bucket_item">
1436                 <fields oils_persist:primary="id" oils_persist:sequence="container.call_number_bucket_item_id_seq">
1437                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1438                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1439                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1440                         <field name="bucket" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
1441                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
1442                         <field name="target_call_number" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link" />
1443                         <field name="create_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp" />
1444                 </fields>
1445                 <links>
1446                         <link field="target_call_number" reltype="has_a" key="id" map="" class="acn"/>
1447                         <link field="bucket" reltype="has_a" key="id" map="" class="ccnb"/>
1448                 </links>
1449         </class>
1450         <class id="cbreb" controller="open-ils.cstore" oils_obj:fieldmapper="container::biblio_record_entry_bucket" oils_persist:tablename="container.biblio_record_entry_bucket">
1451                 <fields oils_persist:primary="id" oils_persist:sequence="container.biblio_record_entry_bucket_id_seq">
1452                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1453                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1454                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1455                         <field name="items" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
1456                         <field name="btype" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
1457                         <field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
1458                         <field name="name" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
1459                         <field name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
1460                         <field name="pub" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
1461                         <field name="create_time" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp" />
1462                 </fields>
1463                 <links>
1464                         <link field="owner" reltype="has_a" key="id" map="" class="au"/>
1465                         <link field="items" reltype="has_many" key="bucket" map="" class="cbrebi"/>
1466                 </links>
1467         </class>
1468         <class id="ahcm" controller="open-ils.cstore" oils_obj:fieldmapper="action::hold_copy_map" oils_persist:tablename="action.hold_copy_map">
1469                 <fields oils_persist:primary="id" oils_persist:sequence="action.hold_copy_map_id_seq">
1470                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1471                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1472                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1473                         <field name="hold" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
1474                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
1475                         <field name="target_copy" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
1476                 </fields>
1477                 <links>
1478                         <link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
1479                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
1480                 </links>
1481         </class>
1482         <class id="ahn" controller="open-ils.cstore" oils_obj:fieldmapper="action::hold_notification" oils_persist:tablename="action.hold_notification" reporter:label="Hold Notification">
1483                 <fields oils_persist:primary="id" oils_persist:sequence="action.hold_notification_id_seq">
1484                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1485                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1486                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1487                         <field reporter:label="Hold" name="hold" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
1488                         <field reporter:label="Notification ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
1489                         <field reporter:label="Notification Method" name="method" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text"/>
1490                         <field reporter:label="Notification Note" name="note" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
1491                         <field reporter:label="Notifying Staff" name="notify_staff" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
1492                         <field reporter:label="Notification Date/Time" name="notify_time" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1493                 </fields>
1494                 <links>
1495                         <link field="hold" reltype="has_a" key="id" map="" class="ahr"/>
1496                         <link field="notify_staff" reltype="has_a" key="id" map="" class="au"/>
1497                 </links>
1498         </class>
1499         <class id="acpl" controller="open-ils.cstore" oils_obj:fieldmapper="asset::copy_location" oils_persist:tablename="asset.copy_location" reporter:label="Copy/Shelving Location">
1500                 <fields oils_persist:primary="id" oils_persist:sequence="asset.copy_location_id_seq">
1501                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1502                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1503                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1504                         <field reporter:label="Can Circulate?" name="circulate" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="bool"/>
1505                         <field reporter:label="Is Holdable?" name="holdable" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
1506                         <field reporter:label="Location ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
1507                         <field reporter:label="Name" name="name" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
1508                         <field reporter:label="Is OPAC Visible?" name="opac_visible" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
1509                         <field reporter:label="Owning Org Unit" name="owning_lib" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
1510                 </fields>
1511                 <links>
1512                         <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
1513                 </links>
1514         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1515             <actions>
1516                 <create permission="CREATE_COPY_LOCATION" context_field="owning_lib"/>
1517                 <retrieve/>
1518                 <update permission="UPDATE_COPY_LOCATION" context_field="owning_lib"/>
1519                 <delete permission="DELETE_COPY_LOCATION" context_field="owning_lib"/>
1520             </actions>
1521         </permacrud>
1522         </class>
1523         <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">
1524                 <fields oils_persist:primary="id" oils_persist:sequence="asset.stat_cat_entry_copy_map_id_seq">
1525                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1526                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1527                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1528                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
1529                         <field name="owning_copy" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
1530                         <field name="stat_cat" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
1531                         <field name="stat_cat_entry" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
1532                 </fields>
1533                 <links>
1534                         <link field="owning_copy" reltype="has_a" key="id" map="" class="acp"/>
1535                         <link field="stat_cat_entry" reltype="has_a" key="id" map="" class="asce"/>
1536                         <link field="stat_cat" reltype="has_a" key="id" map="" class="asc"/>
1537                 </links>
1538         </class>
1539         <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">
1540                 <fields oils_persist:primary="code">
1541                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1542                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1543                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1544                         <field reporter:label="Item Type Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
1545                         <field reporter:label="Item Type" name="value" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
1546                 </fields>
1547                 <links/>
1548         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1549             <actions>
1550                 <create permission="CREATE_ITEM_TYPE" global_required="true"/>
1551                 <retrieve/>
1552                 <update permission="UPDATE_ITEM_TYPE" global_required="true"/>
1553                 <delete permission="DELETE_ITEM_TYPE" global_required="true"/>
1554             </actions>
1555         </permacrud>
1556         </class>
1557         <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">
1558                 <fields oils_persist:primary="code">
1559                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1560                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1561                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1562                         <field reporter:label="Bib Level Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
1563                         <field reporter:label="Bib Level" name="value" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
1564                 </fields>
1565                 <links/>
1566         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1567             <actions>
1568                 <create permission="CREATE_BIB_LEVEL" global_required="true"/>
1569                 <retrieve/>
1570                 <update permission="UPDATE_BIB_LEVEL" global_required="true"/>
1571                 <delete permission="DELETE_BIB_LEVEL" global_required="true"/>
1572             </actions>
1573         </permacrud>
1574         </class>
1575         <class id="sra" controller="open-ils.cstore" oils_obj:fieldmapper="search::relevance_adjustment" oils_persist:tablename="search.relevance_adjustment" reporter:label="Relevance Adjustment">
1576                 <fields oils_persist:primary="id" oils_persist:sequence="search.relevance_adjustment_id_seq">
1577                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1578                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1579                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1580                         <field reporter:label="ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="id"/>
1581                         <field reporter:label="Active" name="active" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="bool"/>
1582                         <field reporter:label="Index Field" name="field" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="link"/>
1583                         <field reporter:label="Bump Type" name="bump" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
1584                         <field reporter:label="Multiplier" name="multiplier" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="number"/>
1585                 </fields>
1586                 <links>
1587             <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
1588         </links>
1589         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1590             <actions>
1591                 <create permission="CREATE_RELEVANCE_ADJUSTMENT" global_required="true"/>
1592                 <retrieve permission="CREATE_RELEVANCE_ADJUSTMENT|UPDATE_RELEVANCE_ADJUSTMENT|DELETE_RELEVANCE_ADJUSTMENT" global_required="true"/>
1593                 <update permission="UPDATE_RELEVANCE_ADJUSTMENT" global_required="true"/>
1594                 <delete permission="DELETE_RELEVANCE_ADJUSTMENT" global_required="true"/>
1595             </actions>
1596         </permacrud>
1597         </class>
1598         <class id="lasso" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_lasso" oils_persist:tablename="actor.org_lasso">
1599                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_lasso_id_seq">
1600                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1601                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1602                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1603                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
1604                         <field name="name" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
1605                 </fields>
1606                 <links/>
1607         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1608             <actions>
1609                 <create permission="CREATE_LASSO" global_required="true"/>
1610                 <retrieve permission="CREATE_LASSO|UPDATE_LASSO|DELETE_LASSO" global_required="true"/>
1611                 <update permission="UPDATE_LASSO" global_required="true"/>
1612                 <delete permission="DELETE_LASSO" global_required="true"/>
1613             </actions>
1614         </permacrud>
1615         </class>
1616         <class id="lmap" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_lasso_map" oils_persist:tablename="actor.org_lasso_map">
1617                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_lasso_map_id_seq">
1618                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1619                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1620                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1621                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
1622                         <field name="lasso" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
1623                         <field name="org_unit" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1624                 </fields>
1625                 <links>
1626                         <link field="lasso" reltype="has_a" key="id" map="" class="lasso"/>
1627                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1628                 </links>
1629         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1630             <actions>
1631                 <create permission="CREATE_LASSO_MAP" global_required="true"/>
1632                 <retrieve permission="CREATE_LASSO_MAP|UPDATE_LASSO_MAP|DELETE_LASSO_MAP" global_required="true"/>
1633                 <update permission="UPDATE_LASSO_MAP" global_required="true"/>
1634                 <delete permission="DELETE_LASSO_MAP" global_required="true"/>
1635             </actions>
1636         </permacrud>
1637         </class>
1638         <class id="aoup" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_unit_proximity" oils_persist:tablename="actor.org_unit_proximity">
1639                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_proximity_id_seq">
1640                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1641                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1642                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1643                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
1644                         <field name="from_org" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1645                         <field name="to_org" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1646                         <field name="prox" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int" />
1647                 </fields>
1648                 <links>
1649                         <link field="from_org" reltype="has_a" key="id" map="" class="aou"/>
1650                         <link field="to_org" reltype="has_a" key="id" map="" class="aou"/>
1651                 </links>
1652         </class>
1653         <class id="ssr" controller="open-ils.cstore" oils_obj:fieldmapper="search::search_result" oils_persist:tablename="search.search_result" oils_persist:readonly="true">
1654                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_proximity_id_seq">
1655                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1656                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1657                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1658                         <field reporter:label="ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
1659                         <field reporter:label="Relevance" name="rel" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="float"/>
1660                         <field reporter:label="Record" name="record" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
1661                         <field reporter:label="Total Results" name="total" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int" />
1662                         <field reporter:label="Checked" name="checked" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="int"/>
1663                         <field reporter:label="Visible" name="visible" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="int"/>
1664                         <field reporter:label="Deleted" name="deleted" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="int"/>
1665                         <field reporter:label="Excluded" name="excluded" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="int"/>
1666                 </fields>
1667                 <links/>
1668         </class>
1669         <class id="asv" controller="open-ils.cstore" oils_obj:fieldmapper="action::survey" oils_persist:tablename="action.survey" reporter:label="Survey">
1670                 <fields oils_persist:primary="id" oils_persist:sequence="action.survey_id_seq">
1671                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1672                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1673                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1674                         <field reporter:label="Questions" name="questions" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
1675                         <field reporter:label="Responses" name="responses" oils_obj:array_position="4" oils_persist:virtual="true" reporter:datatype="link"/>
1676                         <field reporter:label="Description" name="description" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
1677                         <field reporter:label="Survey End Date/Time" name="end_date" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1678                         <field reporter:label="Survey ID" name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id"/>
1679                         <field reporter:label="Name" name="name" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
1680                         <field reporter:label="OPAC Surevey?" name="opac" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool"/>
1681                         <field reporter:label="Owning Library" name="owner" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1682                         <field reporter:label="Poll Style?" name="poll" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="bool"/>
1683                         <field reporter:label="Is Required?" name="required" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="bool"/>
1684                         <field reporter:label="Survey Start Date/Time" name="start_date" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1685                         <field reporter:label="Display in User Summary" name="usr_summary" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="bool"/>
1686                 </fields>
1687                 <links>
1688                         <link field="owner" reltype="has_a" key="survey" map="" class="aou"/>
1689                         <link field="responses" reltype="has_many" key="survey" map="" class="asvr"/>
1690                         <link field="questions" reltype="has_many" key="survey" map="" class="asvq"/>
1691                 </links>
1692         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1693             <actions>
1694                 <create permission="CREATE_SURVEY" context_field="owner"/>
1695                 <retrieve/>
1696                 <update permission="UPDATE_SURVEY" context_field="owner"/>
1697                 <delete permission="DELETE_SURVEY" context_field="owner"/>
1698             </actions>
1699         </permacrud>
1700         </class>
1701         <class id="aoa" controller="open-ils.cstore" oils_obj:fieldmapper="actor::org_address" oils_persist:tablename="actor.org_address">
1702                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_address_id_seq">
1703                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1704                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1705                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1706                         <field name="address_type" oils_obj:array_position="3" oils_persist:virtual="false"  reporter:datatype="text"/>
1707                         <field name="city" oils_obj:array_position="4" oils_persist:virtual="false"  reporter:datatype="text"/>
1708                         <field name="country" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text"/>
1709                         <field name="county" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
1710                         <field name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
1711                         <field name="org_unit" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1712                         <field name="post_code" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text"/>
1713                         <field name="state" oils_obj:array_position="10" oils_persist:virtual="false"  reporter:datatype="text"/>
1714                         <field name="street1" oils_obj:array_position="11" oils_persist:virtual="false"  reporter:datatype="text"/>
1715                         <field name="street2" oils_obj:array_position="12" oils_persist:virtual="false"  reporter:datatype="text"/>
1716                         <field name="valid" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="bool"/>
1717                 </fields>
1718                 <links>
1719                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1720                 </links>
1721         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1722             <actions>
1723                 <create permission="CREATE_ORG_ADDRESS" context_field="org_unit"/>
1724                 <retrieve/>
1725                 <update permission="UPDATE_ORG_ADDRESS" context_field="org_unit"/>
1726                 <delete permission="DELETE_ORG_ADDRESS" context_field="org_unit"/>
1727             </actions>
1728         </permacrud>
1729         </class>
1730         <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">
1731                 <fields oils_persist:primary="id" oils_persist:sequence="action.hold_request_id_seq">
1732                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1733                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1734                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1735                         <field name="status" oils_obj:array_position="3" oils_persist:virtual="true" />
1736                         <field reporter:label="Transit" name="transit" oils_obj:array_position="4" oils_persist:virtual="true" />
1737                         <field reporter:label="Capture Date/Time" name="capture_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1738                         <field reporter:label="Currently Targeted Copy" name="current_copy" oils_obj:array_position="6" oils_persist:virtual="false" />
1739                         <field reporter:label="Notify by Email?" name="email_notify" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="bool"/>
1740                         <field reporter:label="Hold Expire Date/Time" name="expire_time" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1741                         <field reporter:label="Fulfilling Library" name="fulfillment_lib" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1742                         <field reporter:label="Fulfilling Staff" name="fulfillment_staff" oils_obj:array_position="10" oils_persist:virtual="false" />
1743                         <field reporter:label="Fulfillment Date/Time" name="fulfillment_time" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1744                         <field reporter:label="Hold Type" name="hold_type" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
1745                         <field reporter:label="Holdable Formats (for M-type hold)" name="holdable_formats" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
1746                         <field reporter:label="Hold ID" name="id" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="id" />
1747                         <field reporter:label="Notifications Phone Number" name="phone_notify" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="text"/>
1748                         <field reporter:label="Pickup Library" name="pickup_lib" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1749                         <field reporter:label="Last Targeting Date/Time" name="prev_check_time" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1750                         <field reporter:label="Requesting Library" name="request_lib" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1751                         <field reporter:label="Request Date/Time" name="request_time" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1752                         <field reporter:label="Requesting User" name="requestor" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="link"/>
1753                         <field reporter:label="Item Selection Depth" name="selection_depth" oils_obj:array_position="21" oils_persist:virtual="false" />
1754                         <field reporter:label="Selection Locus" name="selection_ou" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1755                         <field reporter:label="Target Object ID" name="target" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="link"/>
1756                         <field reporter:label="Hold User" name="usr" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="link"/>
1757                         <field reporter:label="Hold Cancel Date/Time" name="cancel_time" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1758                         <field name="notify_time" oils_obj:array_position="26" oils_persist:virtual="true" reporter:datatype="timestamp"/>
1759                         <field name="notify_count" oils_obj:array_position="27" oils_persist:virtual="true" reporter:datatype="int" />
1760                         <field reporter:label="Notifications" name="notifications" oils_obj:array_position="28" oils_persist:virtual="true" reporter:datatype="link"/>
1761                         <field reporter:label="Bib Record link" name="bib_rec" oils_obj:array_position="29" oils_persist:virtual="true" reporter:datatype="link"/>
1762                         <field reporter:label="Eligible Copies" name="eligible_copies" oils_obj:array_position="30" oils_persist:virtual="true" reporter:datatype="link"/>
1763                         <field reporter:label="Currently Frozen" name="frozen" oils_obj:array_position="31" oils_persist:virtual="false" reporter:datatype="bool"/>
1764                         <field reporter:label="Thaw Date (if frozen)" name="thaw_date" oils_obj:array_position="32" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1765                 </fields>
1766                 <links>
1767                         <link field="fulfillment_lib" reltype="has_a" key="id" map="" class="aou"/>
1768                         <link field="fulfillment_staff" reltype="has_a" key="id" map="" class="au"/>
1769                         <link field="pickup_lib" reltype="has_a" key="id" map="" class="aou"/>
1770                         <link field="selection_ou" reltype="has_a" key="id" map="" class="aou"/>
1771                         <link field="requestor" reltype="has_a" key="id" map="" class="au"/>
1772                         <link field="current_copy" reltype="has_a" key="id" map="" class="acp"/>
1773                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1774                         <link field="request_lib" reltype="has_a" key="id" map="" class="aou"/>
1775                         <link field="transit" reltype="might_have" key="hold" map="" class="ahtc"/>
1776                         <link field="notifications" reltype="has_many" key="hold" map="" class="ahn"/>
1777                         <link field="eligible_copies" reltype="has_many" key="hold" map="target_copy" class="ahcm"/>
1778                         <link field="bib_rec" reltype="might_have" key="id" map="" class="rhrr"/>
1779                 </links>
1780         </class>
1781         <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">
1782                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_id_seq">
1783                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1784                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1785                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1786                         <field reporter:label="Subordinate Organizational Units" name="children" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="org_unit"/>
1787                         <field reporter:label="Billing Address" name="billing_address" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
1788                         <field reporter:label="Holds Receiving Address" name="holds_address" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
1789                         <field reporter:label="Organizational Unit ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1790                         <field reporter:label="ILL Receiving Address" name="ill_address" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
1791                         <field reporter:label="Mailing Address" name="mailing_address" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="link"/>
1792                         <field reporter:label="Name" name="name" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
1793                         <field reporter:label="Organizational Unit Type" name="ou_type" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
1794                         <field reporter:label="Parent Organizational Unit" name="parent_ou" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
1795                         <field reporter:label="Short (Policy) Name" name="shortname" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
1796                         <field reporter:label="Email Address" name="email" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
1797                         <field reporter:label="Phone Number" name="phone" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="text"/>
1798                         <field reporter:label="OPAC Visible" name="opac_visible" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="bool"/>
1799                         <field reporter:label="Users" name="users" oils_obj:array_position="16" oils_persist:virtual="true" reporter:datatype="link"/>
1800                         <field reporter:label="Closed Dates" name="closed_dates" oils_obj:array_position="17" oils_persist:virtual="true" reporter:datatype="link"/>
1801                         <field reporter:label="Circulations" name="circulations" oils_obj:array_position="18" oils_persist:virtual="true" reporter:datatype="link"/>
1802                         <field reporter:label="Settings" name="settings" oils_obj:array_position="19" oils_persist:virtual="true" reporter:datatype="link"/>
1803                         <field reporter:label="Addresses" name="addresses" oils_obj:array_position="20" oils_persist:virtual="true" reporter:datatype="link"/>
1804                         <field reporter:label="Checkins" name="checkins" oils_obj:array_position="21" oils_persist:virtual="true" reporter:datatype="link"/>
1805                         <field reporter:label="Workstations" name="workstations" oils_obj:array_position="22" oils_persist:virtual="true" reporter:datatype="link"/>
1806                 </fields>
1807                 <links>
1808                         <link field="billing_address" reltype="has_a" key="id" map="" class="aoa"/>
1809                         <link field="holds_address" reltype="has_a" key="id" map="" class="aoa"/>
1810                         <link field="ou_type" reltype="has_a" key="id" map="" class="aout"/>
1811                         <link field="mailing_address" reltype="has_a" key="id" map="" class="aoa"/>
1812                         <link field="parent_ou" reltype="has_a" key="id" map="" class="aou"/>
1813                         <link field="ill_address" reltype="has_a" key="id" map="" class="aoa"/>
1814                         <link field="users" reltype="has_many" key="home_ou" map="" class="au"/>
1815                         <link field="closed_dates" reltype="has_many" key="org_unit" map="" class="aoucd"/>
1816                         <link field="children" reltype="has_many" key="parent_ou" map="" class="aou"/>
1817                         <link field="circulations" reltype="has_many" key="circ_lib" map="" class="circ"/>
1818                         <link field="settings" reltype="has_many" key="org_unit" map="" class="aous"/>
1819                         <link field="addresses" reltype="has_many" key="org_unit" map="" class="aoa"/>
1820                         <link field="checkins" reltype="has_many" key="checkin_lib" map="" class="circ"/>
1821                         <link field="workstations" reltype="has_many" key="owning_lib" map="" class="aws"/>
1822                 </links>
1823         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1824             <actions>
1825                 <create permission="CREATE_ORG_UNIT" context_field="parent_ou"/>
1826                 <retrieve permission="CREATE_ORG_UNIT|UPDATE_ORG_UNIT|DELETE_ORG_UNIT">
1827                     <context field="id"/>
1828                     <context field="parent_ou"/>
1829                                 </retrieve>
1830                 <update permission="UPDATE_ORG_UNIT" context_field="id"/>
1831                 <delete permission="DELETE_ORG_UNIT" context_field="parent_ou"/>
1832             </actions>
1833         </permacrud>
1834         </class>
1835         <class id="ccnb" controller="open-ils.cstore" oils_obj:fieldmapper="container::call_number_bucket" oils_persist:tablename="container.call_number_bucket">
1836                 <fields oils_persist:primary="id" oils_persist:sequence="container.call_number_bucket_id_seq">
1837                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1838                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1839                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1840                         <field name="items" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
1841                         <field name="btype" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
1842                         <field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
1843                         <field name="name" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
1844                         <field name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
1845                         <field name="pub" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
1846                         <field name="create_time" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp" />
1847                 </fields>
1848                 <links>
1849                         <link field="owner" reltype="has_a" key="id" map="" class="au"/>
1850                         <link field="items" reltype="has_many" key="bucket" map="" class="ccnbi"/>
1851                 </links>
1852         </class>
1853         <class id="asc" controller="open-ils.cstore" oils_obj:fieldmapper="asset::stat_cat" oils_persist:tablename="asset.stat_cat" reporter:label="Asset Statistical Category">
1854                 <fields oils_persist:primary="id" oils_persist:sequence="asset.stat_cat_id_seq">
1855                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1856                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1857                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1858                         <field reporter:label="Entries" name="entries" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
1859                         <field reporter:label="Stat Cat ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" reporter:selector="name"/>
1860                         <field reporter:label="Name" name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
1861                         <field reporter:label="OPAC Visible" name="opac_visible" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
1862                         <field reporter:label="Owning Library" name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1863                 </fields>
1864                 <links>
1865                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
1866                         <link field="entries" reltype="has_many" key="stat_cat" map="" class="asce"/>
1867                 </links>
1868         </class>
1869         <class id="ac" controller="open-ils.cstore" oils_obj:fieldmapper="actor::card" oils_persist:tablename="actor.card" reporter:label="Library Card">
1870                 <fields oils_persist:primary="id" oils_persist:sequence="actor.card_id_seq">
1871                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1872                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1873                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1874                         <field reporter:label="IsActive?" name="active" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="bool"/>
1875                         <field reporter:label="Barcode" name="barcode" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
1876                         <field reporter:label="Card ID" name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
1877                         <field reporter:label="User" name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
1878                 </fields>
1879                 <links>
1880                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1881                 </links>
1882         </class>
1883         <class id="actsc" controller="open-ils.cstore" oils_obj:fieldmapper="actor::stat_cat" oils_persist:tablename="actor.stat_cat" reporter:label="User Statistical Category">
1884                 <fields oils_persist:primary="id" oils_persist:sequence="actor.stat_cat_id_seq">
1885                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1886                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1887                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1888                         <field reporter:label="Entries" name="entries" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
1889                         <field reporter:label="Stat Cat ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" reporter:selector="name"/>
1890                         <field reporter:label="Name" name="name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
1891                         <field reporter:label="OPAC Visible" name="opac_visible" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
1892                         <field reporter:label="Owning Library" name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="org_unit"/>
1893                 </fields>
1894                 <links>
1895                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
1896                         <link field="entries" reltype="has_many" key="stat_cat" map="" class="actsce"/>
1897                 </links>
1898         </class>
1899         <class id="msefe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::series_field_entry" oils_persist:tablename="metabib.series_field_entry">
1900                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.series_field_entry_id_seq">
1901                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1902                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1903                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1904                         <field name="field" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
1905                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
1906                         <field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
1907                         <field name="value" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
1908                 </fields>
1909                 <links>
1910                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
1911                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
1912                 </links>
1913         </class>
1914         <class id="cub" controller="open-ils.cstore" oils_obj:fieldmapper="container::user_bucket" oils_persist:tablename="container.user_bucket">
1915                 <fields oils_persist:primary="id" oils_persist:sequence="container.user_bucket_id_seq">
1916                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1917                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1918                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1919                         <field name="items" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
1920                         <field name="btype" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
1921                         <field name="id" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="id" />
1922                         <field name="name" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text"/>
1923                         <field name="owner" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
1924                         <field name="pub" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
1925                         <field name="create_time" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp" />
1926                 </fields>
1927                 <links>
1928                         <link field="owner" reltype="has_a" key="id" map="" class="au"/>
1929                         <link field="items" reltype="has_many" key="bucket" map="" class="cubi"/>
1930                 </links>
1931         </class>
1932         <class id="mcrp" controller="open-ils.cstore" oils_obj:fieldmapper="money::credit_payment" oils_persist:tablename="money.credit_payment" reporter:label="House Credit Payment">
1933                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
1934                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1935                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1936                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1937                         <field reporter:label="Accepting Staff Member" name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
1938                         <field reporter:label="Amount" name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
1939                         <field reporter:label="Amount Collected" name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
1940                         <field reporter:label="Pyament ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
1941                         <field reporter:label="Payment Note" name="note" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="text"/>
1942                         <field reporter:label="Payment Timestamp" name="payment_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
1943                         <field reporter:label="Transaction" name="xact" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
1944                         <field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="10" oils_persist:virtual="true"  reporter:datatype="text"/>
1945                         <field reporter:label="Payment link" name="payment" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
1946                 </fields>
1947                 <links>
1948                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
1949                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
1950                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
1951                 </links>
1952         </class>
1953         <class id="afr" controller="open-ils.cstore" oils_obj:fieldmapper="authority::full_rec" oils_persist:tablename="authority.full_rec">
1954                 <fields oils_persist:primary="id" oils_persist:sequence="authority.full_rec_id_seq">
1955                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1956                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1957                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1958                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
1959                         <field name="ind1" oils_obj:array_position="4" oils_persist:virtual="false" />
1960                         <field name="ind2" oils_obj:array_position="5" oils_persist:virtual="false" />
1961                         <field name="record" oils_obj:array_position="6" oils_persist:virtual="false" />
1962                         <field name="subfield" oils_obj:array_position="7" oils_persist:virtual="false" />
1963                         <field name="tag" oils_obj:array_position="8" oils_persist:virtual="false" />
1964                         <field name="value" oils_obj:array_position="9" oils_persist:virtual="false" />
1965                 </fields>
1966                 <links>
1967                         <link field="record" reltype="has_a" key="id" map="" class="are"/>
1968                 </links>
1969         </class>
1970         <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">
1971                 <fields oils_persist:primary="id" oils_persist:sequence="config.non_cataloged_type_id_seq">
1972                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1973                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1974                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1975                         <field reporter:label="Circulation Duration" name="circ_duration" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="interval"/>
1976                         <field reporter:label="Non-cat Type ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
1977                         <field reporter:label="In House?" name="in_house" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="bool"/>
1978                         <field reporter:label="Name" name="name" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
1979                         <field reporter:label="Owning Library" name="owning_lib" oils_obj:array_position="7" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
1980                 </fields>
1981                 <links>
1982                         <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
1983                 </links>
1984         </class>
1985         <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">
1986                 <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_type_id_seq">
1987                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
1988                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
1989                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
1990                         <field reporter:label="Subordinate Types" name="children" oils_obj:array_position="3" oils_persist:virtual="true" reporter:datatype="link"/>
1991                         <field reporter:label="Can Have Users?" name="can_have_users" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="bool"/>
1992                         <field reporter:label="Can Have Volumes?" name="can_have_vols" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="bool"/>
1993                         <field reporter:label="Type Depth" name="depth" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="int" />
1994                         <field reporter:label="Type ID" name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:selector="name" reporter:datatype="id"/>
1995                         <field reporter:label="Type Name" name="name" oils_obj:array_position="8" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
1996                         <field reporter:label="OPAC Label" name="opac_label" oils_obj:array_position="9" oils_persist:virtual="false"  reporter:datatype="text" oils_persist:i18n="true"/>
1997                         <field reporter:label="Parent Type" name="parent" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="link"/>
1998                         <field reporter:label="Org Units" name="org_units" oils_obj:array_position="11" oils_persist:virtual="true"  reporter:datatype="org_unit"/>
1999                 </fields>
2000                 <links>
2001                         <link field="parent" reltype="has_a" key="id" map="" class="aout"/>
2002                         <link field="children" reltype="has_many" key="parent" map="" class="aout"/>
2003                         <link field="org_units" reltype="has_many" key="ou_type" map="" class="aou"/>
2004                 </links>
2005         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2006             <actions>
2007                 <create permission="CREATE_ORG_TYPE" global_required="true"/>
2008                 <retrieve permission="CREATE_ORG_UNIT|UPDATE_ORG_UNIT|DELETE_ORG_UNIT" global_required="true"/>
2009                 <update permission="UPDATE_ORG_TYPE" global_required="true"/>
2010                 <delete permission="DELETE_ORG_TYPE" global_required="true"/>
2011             </actions>
2012         </permacrud>
2013         </class>
2014         <class id="bren" controller="open-ils.cstore" oils_obj:fieldmapper="biblio::record_note" oils_persist:tablename="biblio.record_note">
2015                 <fields oils_persist:primary="id" oils_persist:sequence="biblio.record_note_id_seq">
2016                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2017                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2018                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2019                         <field name="create_date" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="timestamp"/>
2020                         <field name="creator" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
2021                         <field name="edit_date" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
2022                         <field name="editor" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
2023                         <field name="id" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="id" />
2024                         <field name="pub" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
2025                         <field name="record" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
2026                         <field name="value" oils_obj:array_position="10" oils_persist:virtual="false"  reporter:datatype="text"/>
2027                 </fields>
2028                 <links>
2029                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
2030                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
2031                         <link field="record" reltype="has_a" key="id" map="" class="bre"/>
2032                 </links>
2033         </class>
2034         <class id="mucs" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_circulation_summary" oils_persist:tablename="money.usr_circulation_summary">
2035                 <fields oils_persist:primary="usr" oils_persist:sequence="">
2036                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2037                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2038                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2039                         <field name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
2040                         <field name="total_owed" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
2041                         <field name="total_paid" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
2042                         <field name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
2043                 </fields>
2044                 <links>
2045                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2046                 </links>
2047         </class>
2048         <class id="mg" controller="open-ils.cstore" oils_obj:fieldmapper="money::grocery" oils_persist:tablename="money.grocery" reporter:label="Grocery Transaction">
2049                 <fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
2050                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2051                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2052                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2053                         <field reporter:label="Billing Location" name="billing_location" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
2054                         <field reporter:label="Transaction ID" name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
2055                         <field reporter:label="Note" name="note" oils_obj:array_position="5" oils_persist:virtual="false"  reporter:datatype="text"/>
2056                         <field reporter:label="User" name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
2057                         <field reporter:label="Transaction Finish Timestamp" name="xact_finish" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="timestamp" />
2058                         <field reporter:label="Transaction Start Timestamp" name="xact_start" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp" />
2059                         <field reporter:label="Billings" name="billings" oils_obj:array_position="9" oils_persist:virtual="true" reporter:datatype="link"/>
2060                         <field reporter:label="Payments" name="payments" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
2061                         <field reporter:label="Billable Transaction link" name="billable_transaction" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
2062                         <field reporter:label="Billing Totals" name="billing_total" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="money"/>
2063                         <field reporter:label="Payment Totals" name="payment_total" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="money"/>
2064                 </fields>
2065                 <links>
2066                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2067                         <link field="billable_transaction" reltype="might_have" key="id" map="" class="mbt"/>
2068                         <link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
2069                         <link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
2070                         <link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
2071                         <link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
2072                         <link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
2073                 </links>
2074         </class>
2075         <class id="cbs" controller="open-ils.cstore" oils_obj:fieldmapper="config::bib_source" oils_persist:tablename="config.bib_source">
2076                 <fields oils_persist:primary="id" oils_persist:sequence="config.bib_source_id_seq">
2077                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2078                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2079                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2080                         <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:selector="source" reporter:datatype="id"/>
2081                         <field name="quality" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
2082                         <field name="source" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
2083                         <field name="transcendant" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="bool"/>
2084                 </fields>
2085                 <links/>
2086         </class>
2087         <class id="mbt" controller="open-ils.cstore" oils_obj:fieldmapper="money::billable_transaction" oils_persist:tablename="money.billable_xact" reporter:label="Billable Transaction">
2088                 <fields oils_persist:primary="id" oils_persist:sequence="money.billable_xact_id_seq">
2089                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2090                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2091                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2092                         <field reporter:label="Transaction ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
2093                         <field reporter:label="User" name="usr" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
2094                         <field reporter:label="Transaction Finish Date/Time" name="xact_finish" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
2095                         <field reporter:label="Transaction Start Date/Time" name="xact_start" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp"/>
2096                         <field reporter:label="Grocery Billing link" name="grocery" oils_obj:array_position="7" oils_persist:virtual="true" reporter:datatype="link"/>
2097                         <field reporter:label="Circulation Billing link" name="circulation" oils_obj:array_position="8" oils_persist:virtual="true" reporter:datatype="link"/>
2098                         <field reporter:label="Billing Line Items" name="billings" oils_obj:array_position="9" oils_persist:virtual="true" reporter:datatype="link"/>
2099                         <field reporter:label="Payment Line Items" name="payments" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
2100                         <field reporter:label="Billing Totals" name="billing_total" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="money"/>
2101                         <field reporter:label="Payment Totals" name="payment_total" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="money"/>
2102                 </fields>
2103                 <links>
2104                         <link field="grocery" reltype="might_have" key="id" map="" class="mg"/>
2105                         <link field="circulation" reltype="might_have" key="id" map="" class="circ"/>
2106                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2107                         <link field="payments" reltype="has_many" key="xact" map="" class="mp"/>
2108                         <link field="billings" reltype="has_many" key="xact" map="" class="mb"/>
2109                         <link field="billing_total" reltype="might_have" key="xact" map="" class="rxbt"/>
2110                         <link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
2111                 </links>
2112         </class>
2113         <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">
2114                 <fields oils_persist:primary="id" oils_persist:sequence="actor.stat_cat_entry_id_seq">
2115                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2116                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2117                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2118                         <field reporter:label="Entry ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
2119                         <field reporter:label="Entry Owner" name="owner" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
2120                         <field reporter:label="Stat Cat" name="stat_cat" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
2121                         <field reporter:label="Entry Value" name="value" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="text"/>
2122                 </fields>
2123                 <links>
2124                         <link field="stat_cat" reltype="has_a" key="id" map="" class="actsc"/>
2125                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
2126                 </links>
2127         </class>
2128         <class id="cubi" controller="open-ils.cstore" oils_obj:fieldmapper="container::user_bucket_item" oils_persist:tablename="container.user_bucket_item">
2129                 <fields oils_persist:primary="id" oils_persist:sequence="container.user_bucket_item_id_seq">
2130                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2131                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2132                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2133                         <field name="bucket" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
2134                         <field name="id" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="id" />
2135                         <field name="target_user" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link"/>
2136                         <field name="create_time" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="timestamp" />
2137                 </fields>
2138                 <links>
2139                         <link field="target_user" reltype="has_a" key="id" map="" class="au"/>
2140                         <link field="bucket" reltype="has_a" key="id" map="" class="cub"/>
2141                 </links>
2142         </class>
2143         <class id="mus" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_summary" oils_persist:tablename="money.usr_summary">
2144                 <fields oils_persist:primary="usr" oils_persist:sequence="">
2145                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2146                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2147                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2148                         <field name="balance_owed" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="money" />
2149                         <field name="total_owed" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
2150                         <field name="total_paid" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
2151                         <field name="usr" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
2152                 </fields>
2153                 <links>
2154                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2155                 </links>
2156         </class>
2157         <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">
2158                 <fields oils_persist:primary="code" oils_persist:sequence="">
2159                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2160                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2161                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2162                         <field reporter:label="LitF Code" name="code" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="text"/>
2163                         <field reporter:label="LitF Description" name="description" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
2164                         <field reporter:label="LitF Name" name="value" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
2165                 </fields>
2166                 <links/>
2167         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2168             <actions>
2169                 <create permission="CREATE_LIT_FORM" global_required="true"/>
2170                 <retrieve/>
2171                 <update permission="UPDATE_LIT_FORM" global_required="true"/>
2172                 <delete permission="DELETE_LIT_FORM" global_required="true"/>
2173             </actions>
2174         </permacrud>
2175         </class>
2176         <class id="mwp" controller="open-ils.cstore" oils_obj:fieldmapper="money::work_payment" oils_persist:tablename="money.work_payment" reporter:label="Work Payment">
2177                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
2178                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2179                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2180                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2181                         <field reporter:label="Accepting Staff Member" name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
2182                         <field reporter:label="Amount" name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
2183                         <field reporter:label="Amount Collected" name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
2184                         <field reporter:label="Payment ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
2185                         <field reporter:label="Note" name="note" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
2186                         <field reporter:label="Payment Timestamp" name="payment_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
2187                         <field reporter:label="Transaction ID" name="xact" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
2188                         <field reporter:label="Payment link" name="payment" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
2189                         <field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="text"/>
2190                 </fields>
2191                 <links>
2192                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
2193                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
2194                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
2195                 </links>
2196         </class>
2197         <class id="mgp" controller="open-ils.cstore" oils_obj:fieldmapper="money::goods_payment" oils_persist:tablename="money.goods_payment" reporter:label="Goods Payment">
2198                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
2199                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2200                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2201                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2202                         <field reporter:label="Accepting Staff Member" name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
2203                         <field reporter:label="Amount" name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
2204                         <field reporter:label="Amount Collected" name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
2205                         <field reporter:label="Payment ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
2206                         <field reporter:label="Note" name="note" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
2207                         <field reporter:label="Payment Timestamp" name="payment_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
2208                         <field reporter:label="Transaction ID" name="xact" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
2209                         <field reporter:label="Payment link" name="payment" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
2210                         <field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="text"/>
2211                 </fields>
2212                 <links>
2213                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
2214                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
2215                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
2216                 </links>
2217         </class>
2218         <class id="aoc" controller="open-ils.cstore" oils_obj:fieldmapper="action::open_circulation" oils_persist:tablename="action.open_circulation">
2219                 <fields oils_persist:primary="id" oils_persist:sequence="">
2220                         <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
2221                         <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
2222                         <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
2223                         <field name="checkin_lib" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
2224                         <field name="checkin_staff" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="link"/>
2225                         <field name="checkin_time" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="timestamp"/>
2226                         <field name="circ_lib" oils_obj:array_position="6" oils_persist:virtual="false"  reporter:datatype="org_unit"/>
2227                         <field name="circ_staff" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="link"/>
2228                         <field name="desk_renewal" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="bool"/>
2229                         <field name="due_date" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="timestamp"/>
2230                         <field name="duration" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="interval"/>
2231                         <field name="duration_rule" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
2232             &