{
'key' => 'credit-card-surcharge-percentage',
'section' => 'billing',
- 'description' => 'Add a credit card surcharge to invoices, as a % of the invoice total. WARNING: this is usually prohibited by merchant account / other agreements and/or law, but is currently lawful in AU and UK.',
+ 'description' => 'Add a credit card surcharge to invoices, as a % of the invoice total. WARNING: Although recently permitted to US merchants in general, specific consumer protection laws may prohibit or restrict this practice in California, Colorado, Connecticut, Florda, Kansas, Maine, Massachusetts, New York, Oklahome, and Texas. Surcharging is also generally prohibited in most countries outside the US, AU and UK. When allowed, typically not permitted to be above 4%.',
'type' => 'text',
},
'%d/%m/%Y' => 'DD/MM/YYYY',
'%Y/%m/%d' => 'YYYY/MM/DD',
],
+ 'per_locale' => 1,
},
{
'%d/%m/%Y' => 'DD/MM/YYYY',
'%Y/%m/%d' => 'YYYY/MM/DD',
],
+ 'per_locale' => 1,
},
{
'section' => 'invoicing',
'description' => 'Optional default invoice term, used to calculate a due date printed on invoices.',
'type' => 'select',
- 'select_enum' => [ '', 'Payable upon receipt', 'Net 0', 'Net 3', 'Net 9', 'Net 10', 'Net 15', 'Net 18', 'Net 20', 'Net 21', 'Net 30', 'Net 45', 'Net 60', 'Net 90' ],
- },
+ 'select_enum' => [
+ '', 'Payable upon receipt', 'Net 0', 'Net 3', 'Net 5', 'Net 9', 'Net 10', 'Net 14',
+ 'Net 15', 'Net 18', 'Net 20', 'Net 21', 'Net 25', 'Net 30', 'Net 45',
+ 'Net 60', 'Net 90'
+ ], },
{
'key' => 'invoice_show_prior_due_date',
'type' => 'text',
},
+ {
+ 'key' => 'sip_passwordmin',
+ 'section' => 'telephony',
+ 'description' => 'Minimum SIP password length (default 6)',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'sip_passwordmax',
+ 'section' => 'telephony',
+ 'description' => 'Maximum SIP password length (default 80)',
+ 'type' => 'text',
+ },
+
+
{
'key' => 'password-noampersand',
'section' => 'password',
'type' => 'checkbox',
},
+ {
+ 'key' => 'show_ship_company',
+ 'section' => 'UI',
+ 'description' => 'Turns on display/collection of a "service company name" field for customers.',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'show_ss',
'section' => 'UI',
'select_enum' => \@card_types,
},
+ {
+ 'key' => 'signup-require_cvv',
+ 'section' => 'self-service',
+ 'description' => 'Require CVV for credit card signup.',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'manual_process-pkgpart',
'section' => 'billing',
'description' => 'If enabled, specifies the type of verification required for self-service password resets.',
'type' => 'select',
'select_hash' => [ '' => 'Password reset disabled',
- 'paymask,amount,zip' => 'Verify with credit card (or bank account) last 4 digits, payment amount and zip code',
+ 'email' => 'Click on a link in email',
+ 'paymask,amount,zip' => 'Click on a link in email, and also verify with credit card (or bank account) last 4 digits, payment amount and zip code',
],
},
'section' => 'self-service',
'description' => 'Suspend reason when customers suspend their own packages. Set to nothing to disallow self-suspension.',
'type' => 'select-sub',
+ #false laziness w/api_credit_reason
'options_sub' => sub { require FS::Record;
require FS::reason;
my $type = qsearchs('reason_type',
},
{
- 'key' => 'cust_main-enable_spouse_birthdate',
+ 'key' => 'cust_main-enable_spouse',
'section' => 'UI',
- 'description' => 'Enable tracking of a spouse birth date with each customer record',
+ 'description' => 'Enable tracking of a spouse\'s name and date of birth with each customer record',
'type' => 'checkbox',
},
'usps' => 'U.S. Postal Service',
'ezlocate' => 'EZLocate',
'tomtom' => 'TomTom',
+ 'melissa' => 'Melissa WebSmart',
],
},
'type' => 'text'
},
+ {
+ 'key' => 'melissa-userid',
+ 'section' => 'UI', # it's really not...
+ 'description' => 'User ID for Melissa WebSmart service. See <a href="http://www.melissadata.com/">the Melissa website</a> for access and pricing.',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'melissa-enable_geocoding',
+ 'section' => 'UI',
+ 'description' => 'Use the Melissa service for census tract and coordinate lookups. Enable this only if your subscription includes geocoding access.',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'cust_main-auto_standardize_address',
'section' => 'UI',
{
'key' => 'census_year',
'section' => 'UI',
- 'description' => 'The year to use in census tract lookups. NOTE: you need to select 2012 for Year 2010 Census tract codes. A selection of 2011 or 2010 provides Year 2000 Census tract codes. Use the freeside-censustract-update tool if exisitng customers need to be changed.',
+ 'description' => 'The year to use in census tract lookups. NOTE: you need to select 2012 or 2013 for Year 2010 Census tract codes. A selection of 2011 provides Year 2000 Census tract codes. Use the freeside-censustract-update tool if exisitng customers need to be changed.',
'type' => 'select',
- 'select_enum' => [ qw( 2012 2011 2010 ) ],
+ 'select_enum' => [ qw( 2013 2012 2011 ) ],
},
{
'type' => 'text',
},
+ {
+ 'key' => 'svc_phone-radius-password',
+ 'section' => 'telephony',
+ 'description' => 'Password when exporting svc_phone records to RADIUS',
+ 'type' => 'select',
+ 'select_hash' => [
+ '' => 'Use default from svc_phone-radius-default_password config',
+ 'countrycode_phonenum' => 'Phone number (with country code)',
+ ],
+ },
+
{
'key' => 'svc_phone-radius-default_password',
'section' => 'telephony',
{
'key' => 'cust_main-custom_link',
'section' => 'UI',
- 'description' => 'URL to use as source for the "Custom" tab in the View Customer page. The customer number will be appended, or you can insert "$custnum" to have it inserted elsewhere. "$agentnum" will be replaced with the agent number, and "$usernum" will be replaced with the employee number.',
+ 'description' => 'URL to use as source for the "Custom" tab in the View Customer page. The customer number will be appended, or you can insert "$custnum" to have it inserted elsewhere. "$agentnum" will be replaced with the agent number, "$agent_custid" with be replaced with the agent customer ID (if any), and "$usernum" will be replaced with the employee number.',
'type' => 'textarea',
},
{
'key' => 'svc_phone-did-summary',
'section' => 'invoicing',
- 'description' => 'Enable DID activity summary on invoices, showing # DIDs activated/deactivated/ported-in/ported-out and total minutes usage, covering period since last invoice.',
+ 'description' => 'Experimental feature to enable DID activity summary on invoices, showing # DIDs activated/deactivated/ported-in/ported-out and total minutes usage, covering period since last invoice.',
'type' => 'checkbox',
},
'type' => 'checkbox',
},
+ {
+ 'key' => 'default_credit_limit',
+ 'section' => 'billing',
+ 'description' => 'Default customer credit limit',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'api_shared_secret',
+ 'section' => 'API',
+ 'description' => 'Shared secret for back-office API authentication',
+ 'type' => 'text',
+ },
+
+ {
+ 'key' => 'xmlrpc_api',
+ 'section' => 'API',
+ 'description' => 'Enable the back-office API XML-RPC server (on port 8008).',
+ 'type' => 'checkbox',
+ },
+
+# {
+# 'key' => 'jsonrpc_api',
+# 'section' => 'API',
+# 'description' => 'Enable the back-office API JSON-RPC server (on port 8081).',
+# 'type' => 'checkbox',
+# },
+
+ {
+ 'key' => 'api_credit_reason',
+ 'section' => 'API',
+ 'description' => 'Default reason for back-office API credits',
+ 'type' => 'select-sub',
+ #false laziness w/api_credit_reason
+ 'options_sub' => sub { require FS::Record;
+ require FS::reason;
+ my $type = qsearchs('reason_type',
+ { class => 'R' })
+ or return ();
+ map { $_->reasonnum => $_->reason }
+ FS::Record::qsearch('reason',
+ { reason_type => $type->typenum }
+ );
+ },
+ 'option_sub' => sub { require FS::Record;
+ require FS::reason;
+ my $reason = FS::Record::qsearchs(
+ 'reason', { 'reasonnum' => shift }
+ );
+ $reason ? $reason->reason : '';
+ },
+ },
+
{ key => "apacheroot", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
{ key => "apachemachine", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
{ key => "apachemachines", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },