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