| 1 | <?xml version="1.0" encoding="iso-8859-1" ?> |
| 2 | |
| 3 | <table> |
| 4 | <base>CRM/Contribute</base> |
| 5 | <class>Product</class> |
| 6 | <comment>able - stores "product info" for premiums and can be used for non-incentive products </comment> |
| 7 | <name>civicrm_product</name> |
| 8 | <add>1.4</add> |
| 9 | <log>true</log> |
| 10 | <field> |
| 11 | <name>id</name> |
| 12 | <type>int unsigned</type> |
| 13 | <required>true</required> |
| 14 | <add>1.4</add> |
| 15 | </field> |
| 16 | <primaryKey> |
| 17 | <name>id</name> |
| 18 | <autoincrement>true</autoincrement> |
| 19 | </primaryKey> |
| 20 | <field> |
| 21 | <name>name</name> |
| 22 | <uniqueName>product_name</uniqueName> |
| 23 | <title>Product Name</title> |
| 24 | <type>varchar</type> |
| 25 | <length>255</length> |
| 26 | <required>true</required> |
| 27 | <export>true</export> |
| 28 | <localizable>true</localizable> |
| 29 | <comment>Required product/premium name</comment> |
| 30 | <add>1.4</add> |
| 31 | </field> |
| 32 | <field> |
| 33 | <name>description</name> |
| 34 | <title>Description</title> |
| 35 | <type>text</type> |
| 36 | <localizable>true</localizable> |
| 37 | <comment>Optional description of the product/premium.</comment> |
| 38 | <add>1.4</add> |
| 39 | </field> |
| 40 | <field> |
| 41 | <name>sku</name> |
| 42 | <title>SKU</title> |
| 43 | <type>varchar</type> |
| 44 | <length>50</length> |
| 45 | <export>true</export> |
| 46 | <comment>Optional product sku or code.</comment> |
| 47 | <add>1.4</add> |
| 48 | </field> |
| 49 | <field> |
| 50 | <name>options</name> |
| 51 | <title>Options</title> |
| 52 | <type>text</type> |
| 53 | <localizable>true</localizable> |
| 54 | <comment>Store comma-delimited list of color, size, etc. options for the product.</comment> |
| 55 | <add>1.4</add> |
| 56 | </field> |
| 57 | <field> |
| 58 | <name>image</name> |
| 59 | <title>Image</title> |
| 60 | <type>varchar</type> |
| 61 | <length>255</length> |
| 62 | <comment>Full or relative URL to uploaded image - fullsize.</comment> |
| 63 | <add>1.4</add> |
| 64 | </field> |
| 65 | <field> |
| 66 | <name>thumbnail</name> |
| 67 | <title>Thumbnail</title> |
| 68 | <type>varchar</type> |
| 69 | <length>255</length> |
| 70 | <comment>Full or relative URL to image thumbnail.</comment> |
| 71 | <add>1.4</add> |
| 72 | </field> |
| 73 | <field> |
| 74 | <name>price</name> |
| 75 | <title>Price</title> |
| 76 | <type>decimal</type> |
| 77 | <comment>Sell price or market value for premiums. For tax-deductible contributions, this will be stored as non_deductible_amount in the contribution record.</comment> |
| 78 | <add>1.4</add> |
| 79 | </field> |
| 80 | <field> |
| 81 | <name>currency</name> |
| 82 | <type>varchar</type> |
| 83 | <length>3</length> |
| 84 | <default>NULL</default> |
| 85 | <comment>3 character string, value from config setting or input via user.</comment> |
| 86 | <add>3.2</add> |
| 87 | <pseudoconstant> |
| 88 | <table>civicrm_currency</table> |
| 89 | <keyColumn>name</keyColumn> |
| 90 | <labelColumn>full_name</labelColumn> |
| 91 | <nameColumn>numeric_code</nameColumn> |
| 92 | </pseudoconstant> |
| 93 | <html> |
| 94 | <type>Select</type> |
| 95 | </html> |
| 96 | </field> |
| 97 | <field> |
| 98 | <name>financial_type_id</name> |
| 99 | <title>Financial Type</title> |
| 100 | <type>int unsigned</type> |
| 101 | <default>NULL</default> |
| 102 | <pseudoconstant> |
| 103 | <table>civicrm_financial_type</table> |
| 104 | <keyColumn>id</keyColumn> |
| 105 | <labelColumn>name</labelColumn> |
| 106 | </pseudoconstant> |
| 107 | <comment>FK to Financial Type.</comment> |
| 108 | <add>4.3</add> |
| 109 | </field> |
| 110 | <foreignKey> |
| 111 | <name>financial_type_id</name> |
| 112 | <table>civicrm_financial_type</table> |
| 113 | <key>id</key> |
| 114 | <onDelete>SET NULL</onDelete> |
| 115 | <add>4.3</add> |
| 116 | </foreignKey> |
| 117 | |
| 118 | <field> |
| 119 | <name>min_contribution</name> |
| 120 | <title>Minimum Contribution</title> |
| 121 | <type>decimal</type> |
| 122 | <comment>Minimum contribution required to be eligible to select this premium.</comment> |
| 123 | <add>1.4</add> |
| 124 | </field> |
| 125 | <field> |
| 126 | <name>cost</name> |
| 127 | <title>Cost</title> |
| 128 | <type>decimal</type> |
| 129 | <comment>Actual cost of this product. Useful to determine net return from sale or using this as an incentive.</comment> |
| 130 | <add>1.4</add> |
| 131 | </field> |
| 132 | <field> |
| 133 | <name>is_active</name> |
| 134 | <title>Is Active</title> |
| 135 | <type>boolean</type> |
| 136 | <required>true</required> |
| 137 | <comment>Disabling premium removes it from the premiums_premium join table below.</comment> |
| 138 | <add>1.4</add> |
| 139 | </field> |
| 140 | <field> |
| 141 | <name>period_type</name> |
| 142 | <title>Period Type</title> |
| 143 | <type>varchar</type> |
| 144 | <length>8</length> |
| 145 | <default>'rolling'</default> |
| 146 | <comment>Rolling means we set start/end based on current day, fixed means we set start/end for current year or month |
| 147 | (e.g. 1 year + fixed -> we would set start/end for 1/1/06 thru 12/31/06 for any premium chosen in 2006) </comment> |
| 148 | <pseudoconstant> |
| 149 | <callback>CRM_Core_SelectValues::periodType</callback> |
| 150 | </pseudoconstant> |
| 151 | <add>1.4</add> |
| 152 | <html> |
| 153 | <type>Select</type> |
| 154 | </html> |
| 155 | </field> |
| 156 | <field> |
| 157 | <name>fixed_period_start_day</name> |
| 158 | <title>Fixed Period Start Day</title> |
| 159 | <type>int</type> |
| 160 | <default>0101</default> |
| 161 | <comment>Month and day (MMDD) that fixed period type subscription or membership starts.</comment> |
| 162 | <add>1.4</add> |
| 163 | </field> |
| 164 | <field> |
| 165 | <name>duration_unit</name> |
| 166 | <title>Duration Unit</title> |
| 167 | <type>varchar</type> |
| 168 | <length>8</length> |
| 169 | <default>'year'</default> |
| 170 | <pseudoconstant> |
| 171 | <callback>CRM_Core_SelectValues::getPremiumUnits</callback> |
| 172 | </pseudoconstant> |
| 173 | <add>1.4</add> |
| 174 | <html> |
| 175 | <type>Select</type> |
| 176 | </html> |
| 177 | </field> |
| 178 | <field> |
| 179 | <name>duration_interval</name> |
| 180 | <title>Duration Interval</title> |
| 181 | <type>int</type> |
| 182 | <comment>Number of units for total duration of subscription, service, membership (e.g. 12 Months).</comment> |
| 183 | <add>1.4</add> |
| 184 | </field> |
| 185 | <field> |
| 186 | <name>frequency_unit</name> |
| 187 | <title>Frequency Unit</title> |
| 188 | <type>varchar</type> |
| 189 | <length>8</length> |
| 190 | <default>'month'</default> |
| 191 | <comment>Frequency unit and interval allow option to store actual delivery frequency for a subscription or service.</comment> |
| 192 | <pseudoconstant> |
| 193 | <callback>CRM_Core_SelectValues::getPremiumUnits</callback> |
| 194 | </pseudoconstant> |
| 195 | <add>1.4</add> |
| 196 | <html> |
| 197 | <type>Select</type> |
| 198 | </html> |
| 199 | </field> |
| 200 | <field> |
| 201 | <name>frequency_interval</name> |
| 202 | <title>Frequency Interval</title> |
| 203 | <type>int</type> |
| 204 | <comment>Number of units for delivery frequency of subscription, service, membership (e.g. every 3 Months).</comment> |
| 205 | <add>1.4</add> |
| 206 | </field> |
| 207 | </table> |