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