Merge pull request #22783 from colemanw/api4DateFunction
[civicrm-core.git] / xml / schema / Member / MembershipType.xml
1 <?xml version="1.0" encoding="iso-8859-1" ?>
2
3 <table>
4 <base>CRM/Member</base>
5 <class>MembershipType</class>
6 <name>civicrm_membership_type</name>
7 <comment>Sites can configure multiple types of memberships. They encode the owner organization, fee, and the rules needed to set start and end (expire) dates when a member signs up for that type.</comment>
8 <add>1.5</add>
9 <log>true</log>
10 <component>CiviMember</component>
11 <labelField>name</labelField>
12 <field>
13 <name>id</name>
14 <title>Membership Type ID</title>
15 <type>int unsigned</type>
16 <required>true</required>
17 <comment>Membership ID</comment>
18 <add>1.5</add>
19 <html>
20 <type>Number</type>
21 </html>
22 </field>
23 <primaryKey>
24 <name>id</name>
25 <autoincrement>true</autoincrement>
26 </primaryKey>
27 <field>
28 <name>domain_id</name>
29 <title>Domain ID</title>
30 <type>int unsigned</type>
31 <required>true</required>
32 <pseudoconstant>
33 <table>civicrm_domain</table>
34 <keyColumn>id</keyColumn>
35 <labelColumn>name</labelColumn>
36 </pseudoconstant>
37 <comment>Which Domain is this match entry for</comment>
38 <html>
39 <label>Domain</label>
40 </html>
41 <add>3.0</add>
42 </field>
43 <foreignKey>
44 <name>domain_id</name>
45 <table>civicrm_domain</table>
46 <key>id</key>
47 <add>3.0</add>
48 </foreignKey>
49 <field>
50 <name>name</name>
51 <uniqueName>membership_type</uniqueName>
52 <title>Membership Type</title>
53 <type>varchar</type>
54 <required>true</required>
55 <import>true</import>
56 <length>128</length>
57 <localizable>true</localizable>
58 <comment>Name of Membership Type</comment>
59 <html>
60 <type>Text</type>
61 <label>Name</label>
62 </html>
63 <add>1.5</add>
64 </field>
65 <field>
66 <name>description</name>
67 <title>Description</title>
68 <type>varchar</type>
69 <html>
70 <type>TextArea</type>
71 <rows>6</rows>
72 <cols>50</cols>
73 <label>Description</label>
74 </html>
75 <length>255</length>
76 <localizable>true</localizable>
77 <comment>Description of Membership Type</comment>
78 <add>1.5</add>
79 </field>
80 <field>
81 <name>member_of_contact_id</name>
82 <title>Organization ID</title>
83 <type>int unsigned</type>
84 <required>true</required>
85 <comment>Owner organization for this membership type. FK to Contact ID</comment>
86 <html>
87 <label>Organization</label>
88 </html>
89 <add>1.5</add>
90 </field>
91 <foreignKey>
92 <name>member_of_contact_id</name>
93 <table>civicrm_contact</table>
94 <key>id</key>
95 <add>1.5</add>
96 <onDelete>RESTRICT</onDelete>
97 </foreignKey>
98 <field>
99 <name>financial_type_id</name>
100 <title>Financial Type ID</title>
101 <type>int unsigned</type>
102 <required>true</required>
103 <pseudoconstant>
104 <table>civicrm_financial_type</table>
105 <keyColumn>id</keyColumn>
106 <labelColumn>name</labelColumn>
107 </pseudoconstant>
108 <comment>If membership is paid by a contribution - what financial type should be used. FK to civicrm_financial_type.id</comment>
109 <html>
110 <label>Financial Type</label>
111 </html>
112 <add>4.3</add>
113 </field>
114 <foreignKey>
115 <name>financial_type_id</name>
116 <table>civicrm_financial_type</table>
117 <key>id</key>
118 <add>4.3</add>
119 </foreignKey>
120 <field>
121 <name>minimum_fee</name>
122 <title>Minimum Fee</title>
123 <type>decimal</type>
124 <length>18,9</length>
125 <comment>Minimum fee for this membership (0 for free/complimentary memberships).</comment>
126 <default>0</default>
127 <html>
128 <type>Text</type>
129 <label>Minimum Fee</label>
130 </html>
131 <add>1.5</add>
132 </field>
133 <field>
134 <name>duration_unit</name>
135 <title>Membership Type Duration Unit</title>
136 <type>varchar</type>
137 <length>8</length>
138 <required>true</required>
139 <comment>Unit in which membership period is expressed.</comment>
140 <pseudoconstant>
141 <callback>CRM_Core_SelectValues::membershipTypeUnitList</callback>
142 </pseudoconstant>
143 <add>1.5</add>
144 <html>
145 <type>Select</type>
146 </html>
147 </field>
148 <field>
149 <name>duration_interval</name>
150 <title>Membership Type Duration Interval</title>
151 <type>int</type>
152 <html>
153 <type>Text</type>
154 </html>
155 <comment>Number of duration units in membership period (e.g. 1 year, 12 months).</comment>
156 <add>1.5</add>
157 </field>
158 <field>
159 <name>period_type</name>
160 <title>Membership Type Plan</title>
161 <type>varchar</type>
162 <length>8</length>
163 <required>true</required>
164 <comment>Rolling membership period starts on signup date. Fixed membership periods start on fixed_period_start_day.</comment>
165 <html>
166 <type>Select</type>
167 </html>
168 <pseudoconstant>
169 <callback>CRM_Core_SelectValues::periodType</callback>
170 </pseudoconstant>
171 <add>1.5</add>
172 </field>
173 <field>
174 <name>fixed_period_start_day</name>
175 <title>Fixed Period Start Day</title>
176 <type>int</type>
177 <comment>For fixed period memberships, month and day (mmdd) on which subscription/membership will start. Period start is back-dated unless after rollover day.</comment>
178 <add>1.5</add>
179 </field>
180 <field>
181 <name>fixed_period_rollover_day</name>
182 <title>Fixed Period Rollover Day</title>
183 <type>int</type>
184 <comment>For fixed period memberships, signups after this day (mmdd) rollover to next period.</comment>
185 <add>1.5</add>
186 </field>
187 <field>
188 <name>relationship_type_id</name>
189 <title>Membership Type Relationship</title>
190 <type>varchar</type>
191 <length>64</length>
192 <comment>FK to Relationship Type ID</comment>
193 <add>1.5</add>
194 <serialize>SEPARATOR_TRIMMED</serialize>
195 </field>
196 <index>
197 <name>index_relationship_type_id</name>
198 <fieldName>relationship_type_id</fieldName>
199 <add>3.3</add>
200 </index>
201 <field>
202 <name>relationship_direction</name>
203 <type>varchar</type>
204 <length>128</length>
205 <html>
206 <label>Relationship Direction</label>
207 </html>
208 <add>1.7</add>
209 <serialize>SEPARATOR_TRIMMED</serialize>
210 </field>
211 <field>
212 <name>max_related</name>
213 <title>Max Related Members for Type</title>
214 <type>int</type>
215 <comment>Maximum number of related memberships.</comment>
216 <add>4.3</add>
217 <html>
218 <type>Text</type>
219 <label>Max Related</label>
220 </html>
221 </field>
222 <field>
223 <name>visibility</name>
224 <title>Visible</title>
225 <type>varchar</type>
226 <length>64</length>
227 <add>1.5</add>
228 <pseudoconstant>
229 <callback>CRM_Core_SelectValues::memberVisibility</callback>
230 </pseudoconstant>
231 <html>
232 <type>Select</type>
233 </html>
234 </field>
235 <field>
236 <name>weight</name>
237 <title>Order</title>
238 <type>int</type>
239 <html>
240 <type>Text</type>
241 </html>
242 <add>1.5</add>
243 </field>
244 <field>
245 <name>receipt_text_signup</name>
246 <title>Membership Type Receipt Text</title>
247 <type>varchar</type>
248 <html>
249 <type>TextArea</type>
250 <rows>6</rows>
251 <cols>50</cols>
252 </html>
253 <length>255</length>
254 <comment>Receipt Text for membership signup</comment>
255 <add>2.0</add>
256 </field>
257 <field>
258 <name>receipt_text_renewal</name>
259 <title>Membership Type Renewal Text</title>
260 <type>varchar</type>
261 <html>
262 <type>TextArea</type>
263 <rows>6</rows>
264 <cols>50</cols>
265 </html>
266 <length>255</length>
267 <comment>Receipt Text for membership renewal</comment>
268 <add>2.0</add>
269 </field>
270 <field>
271 <name>auto_renew</name>
272 <type>tinyint</type>
273 <default>0</default>
274 <html>
275 <type>Radio</type>
276 <label>Auto-Renew</label>
277 </html>
278 <pseudoconstant>
279 <callback>CRM_Core_SelectValues::memberAutoRenew</callback>
280 </pseudoconstant>
281 <comment>0 = No auto-renew option; 1 = Give option, but not required; 2 = Auto-renew required;</comment>
282 <add>3.3</add>
283 </field>
284 <field>
285 <name>is_active</name>
286 <title>Is Active</title>
287 <type>boolean</type>
288 <default>1</default>
289 <comment>Is this membership_type enabled</comment>
290 <add>1.5</add>
291 <html>
292 <type>CheckBox</type>
293 <label>Enabled?</label>
294 </html>
295 </field>
296 </table>