export host selection per service, RT#17914
[freeside.git] / FS / FS.pm
1 package FS;
2
3 use strict;
4 use vars qw($VERSION);
5
6 $VERSION = '3.0git';
7
8 #find missing entries in this file with:
9 # for a in `ls *pm | cut -d. -f1`; do grep 'L<FS::'$a'>' ../FS.pm >/dev/null || echo "missing $a" ; done
10
11 1;
12 __END__
13
14 =head1 NAME
15
16 FS - Freeside Perl modules
17
18 =head1 SYNOPSIS
19
20 Freeside perl modules and CLI utilities.
21
22 =head2 Utility classes
23
24 L<FS::Schema> - Freeside database schema
25
26 L<FS::Setup> - Setup subroutines
27
28 L<FS::Upgrade> - Upgrade subroutines
29
30 L<FS::Conf> - Freeside configuration values
31
32 L<FS::ConfItem> - Freeside configuration option meta-data.
33
34 L<FS::ConfDefaults> - Freeside configuration default and available values
35
36 L<FS::UID> - User class (not yet OO)
37
38 L<FS::CurrentUser> -  Package representing the current user
39
40 L<FS::CGI> - Non OO-subroutines for the web interface.
41
42 L<FS::Locales> - Locales
43
44 L<FS::Msgcat> - Message catalog
45
46 L<FS::SearchCache> - Search cache
47
48 L<FS::AccessRight> - Access control rights.
49
50 L<FS::Report> - Report data objects
51
52 L<FS::Report::Table> - Report data objects
53
54 L<FS::Report::Table::Monthly> - Report data objects
55
56 L<FS::XMLRPC> - Backend XML::RPC server
57
58 L<FS::Misc> - Miscellaneous subroutines
59
60 L<FS::payby> - Payment types
61
62 L<FS::ClientAPI_SessionCache> - ClientAPI session cache
63
64 L<FS::Pony> - A pony
65
66 L<FS::cust_main::Search> - Customer searching
67
68 L<FS::cust_main::Import> - Batch customer importing
69
70 =head2 Database record classes
71
72 L<FS::Record> - Database record base class
73
74 L<FS::m2m_Common> - Mixin class for classes in a many-to-many relationship
75
76 L<FS::m2name_Common> - Base class for tables with a related table listing names
77
78 L<FS::option_Common> - Base class for option sub-classes
79
80 L<FS::class_Common> - Base class for classification classes
81
82 L<FS::category_Common> - Base class for category (grooups of classifications) classes
83
84 L<FS::conf> - Configuration value class
85
86 L<FS::payinfo_Mixin>  - Mixin class for records in tables that contain payinfo.
87
88 L<FS::access_user> - Employees / internal users
89
90 L<FS::access_user_pref> - Employee preferences
91
92 L<FS::access_group> - Employee groups
93
94 L<FS::access_usergroup> - Employee group membership
95
96 L<FS::access_groupagent> - Group reseller access
97
98 L<FS::access_groupsales> - Group sales access
99
100 L<FS::access_right> - Access rights
101
102 L<FS::svc_acct_pop> - POP (Point of Presence, not Post
103 Office Protocol) class
104
105 L<FS::part_pop_local> - Local calling area class
106
107 L<FS::part_referral> - Referral class
108
109 L<FS::pkg_referral> - Package referral class
110
111 L<FS::cust_main_county> - Locale (tax rate) class
112
113 L<FS::cust_tax_exempt> - Tax exemption record class
114
115 L<FS::cust_tax_adjustment> - Tax adjustment record class
116
117 L<FS::cust_tax_exempt_pkg> - Line-item specific tax exemption record class
118
119 L<FS::svc_Common> - Service base class
120
121 L<FS::svc_Parent_Mixin> - Mixin class for svc_ classes with a parent_svcnum field
122
123 L<FS::svc_acct> - Account (shell, RADIUS, POP3) class
124
125 L<FS::acct_snarf> - External mail account class
126
127 L<FS::acct_rt_transaction> - Time worked application to account class
128
129 L<FS::radius_usergroup> - RADIUS user group membership
130
131 L<FS::radius_group> - RADIUS groups
132
133 L<FS::svc_domain> - Domain class
134
135 L<FS::domain_record> - DNS zone entries
136
137 L<FS::registrar> - Domain registrar class
138
139 L<FS::cgp_rule> - Communigate pro rule class
140
141 L<FS::cgp_rule_condition> - Communigate pro rule condition class
142
143 L<FS::cgp_rule_action> - Communigate pro rule action class
144
145 L<FS::svc_forward> - Mail forwarding class
146
147 L<FS::svc_mailinglist> - (Customer) Mailing list class
148
149 L<FS::mailinglist> - Mailing list class
150
151 L<FS::mailinglistmember> - Mailing list member class
152
153 L<FS::svc_www> - Web virtual host class.
154
155 L<FS::svc_broadband> - DSL, wireless and other broadband class.
156
157 L<FS::svc_dsl> - DSL
158
159 L<FS::dsl_device> - DSL device MAC addresses
160
161 L<FS::dsl_note> - DSL order notes
162
163 L<FS::addr_block> - Address block class
164
165 L<FS::router> - Router class
166
167 L<FS::tower> - Tower class
168
169 L<FS::tower_sector> - Tower sector class
170
171 L<FS::part_virtual_field> - Broadband virtual field class
172
173 L<FS::svc_phone> - Phone service class
174
175 L<FS::phone_device> - Phone device class
176
177 L<FS::part_device> - Device definition class
178
179 L<FS::phone_avail> - Phone number availability cache
180
181 L<FS::lata> - LATA number to name mapping class
182
183 L<FS::msa> - MSA number to name mapping class
184
185 L<FS::rate_center> - Rate center list (for bulk DID orders)
186
187 L<FS::did_vendor> - Bulk DID order vendor class
188
189 L<FS::did_order> - Bulk DID order class
190
191 L<FS::did_order_item> - Bulk DID order item class
192
193 L<FS::cdr> - Call Detail Record class
194
195 L<FS::cdr_batch> - Call Detail Record batch class
196
197 L<FS::cdr_calltype> - CDR calltype class
198
199 L<FS::cdr_carrier> - CDR carrier class
200
201 L<FS::cdr_type> - CDR type class
202
203 L<FS::svc_external> - Externally tracked service class.
204
205 L<FS::svc_pbx> - PBX service class
206
207 L<FS::svc_cert> - Certificate service class
208
209 L<FS::svc_dish> - Dish network service class
210
211 L<FS::inventory_class> - Inventory classes
212
213 L<FS::inventory_item> - Inventory items
214
215 L<FS::part_svc> - Service definition class
216
217 L<FS::part_svc_class> - Service class class
218
219 L<FS::part_svc_column> - Column constraint class
220
221 L<FS::export_svc> - Class linking service definitions (see L<FS::part_svc>)
222 with exports (see L<FS::part_export>)
223
224 L<FS::part_export> - External provisioning export class
225
226 L<FS::part_export_option> - Export option class
227
228 L<FS::pkg_category> - Package category class (invoice oriented)
229
230 L<FS::pkg_class> - Package class class
231
232 L<FS::part_pkg> - Package definition class
233
234 L<FS::part_pkg_link> - Package definition link class
235
236 L<FS::part_pkg_taxclass> - Tax class class
237
238 L<FS::part_pkg_option> - Package definition option class
239
240 L<FS::part_pkg_report_option> - Package reporting classification class
241
242 L<FS::part_pkg_vendor> - Package external mapping class
243
244 L<FS::pkg_svc> - Class linking package definitions (see L<FS::part_pkg>) with
245 service definitions (see L<FS::part_svc>)
246
247 L<FS::qual> - Service qualification class
248
249 L<FS::qual_option> - Qualification option class
250
251 L<FS::reg_code> - One-time registration codes
252
253 L<FS::reg_code_pkg> - Class linking registration codes (see L<FS::reg_code>) with package definitions (see L<FS::part_pkg>)
254
255 L<FS::rate> - Rate plans for call billing
256
257 L<FS::rate_region> - Rate regions for call billing
258
259 L<FS::rate_prefix> - Rate region prefixes for call billing
260
261 L<FS::rate_detail> - Rate plan detail for call billing
262
263 L<FS::rate_tier> - Rate tiers for call billing
264
265 L<FS::rate_tier_details> - Rater tier details for call billing
266
267 L<FS::usage_class> - Usage class class
268
269 L<FS::sales> - Sales person class
270
271 L<FS::agent> - Agent (reseller) class
272
273 L<FS::agent_pkg_class> - Agent (reseller) package class commission class
274
275 L<FS::agent_type> - Agent type class
276
277 L<FS::type_pkgs> - Class linking agent types (see L<FS::agent_type>) with package definitions (see L<FS::part_pkg>)
278
279 L<FS::payment_gateway> - Payment gateway class
280
281 L<FS::payment_gateway_option> - Payment gateway option class
282
283 L<FS::agent_payment_gateway> - Agent payment gateway class
284
285 L<FS::cust_svc> - Service class
286
287 L<FS::part_export_machine> - Export hostname choice class
288
289 L<FS::svc_export_machine> - Customer export hostname class
290
291 L<FS::cust_pkg> - Customer package class
292
293 L<FS::cust_pkg_option> - Customer package option class
294
295 L<FS::cust_pkg_detail> - Customer package details class
296
297 L<FS:;cust_pkg_discount> - Customer package discount class
298
299 L<FS:;cust_bill_pkg_discount> - Customer package discount line item application class
300
301 L<FS:;discount> - Discount class
302
303 L<FS::reason_type> - Reason type class
304
305 L<FS::reason> - Reason class
306
307 L<FS::cust_pkg_reason> - Package reason class
308
309 L<FS::contact_class> - Contact class class
310
311 L<FS::contact> - Contact class
312
313 L<FS::contact_phone> - Contact phone class
314
315 L<FS::phone_type> - Phone type class
316
317 L<FS::contact_email> - Contact email class
318
319 L<FS::prospect_main> - Prospect class
320
321 L<FS::cust_main> - Customer class
322
323 L<FS::cust_main::Billing> - Customer billing class
324
325 L<FS::cust_main::Billing_Realtime> - Customer real-time billing class
326
327 L<FS::cust_main::Packages> - Customer packages class
328
329 L<FS::cust_location> - Customer location class
330
331 L<FS::cust_main_Mixin> - Mixin class for records that contain fields from cust_main
332
333 L<FS::cust_main_invoice> - Invoice destination class
334
335 L<FS::cust_class> - Customer classification class
336
337 L<FS::cust_category> - Customer category class
338
339 L<FS::cust_tag> - Customer tag class
340
341 L<FS::part_tag> - Tag definition class
342
343 L<FS::cust_main_exemption> - Customer tax exemption class
344
345 L<FS::cust_main_note> - Customer note class
346
347 L<FS::cust_note_class> - Customer note classification class
348
349 L<FS::banned_pay> - Banned payment information class
350
351 L<FS::cust_bill> - Invoice class
352
353 L<FS::cust_statement> - Informational statement class
354
355 L<FS::cust_bill_pkg> - Invoice line item class
356
357 L<FS::cust_bill_pkg_detail> - Invoice line item detail class
358
359 L<FS::legacy_cust_bill> - Legacy data invoice class
360
361 L<FS::part_bill_event> - (Old) Invoice event definition class
362
363 L<FS::cust_bill_event> - (Old) Completed invoice event class
364
365 L<FS::part_event> - (New) Billing event definition class
366
367 L<FS::part_event_option> - (New) Billing event option class
368
369 L<FS::part_event::Condition> - (New) Billing event condition base class
370
371 L<FS::part_event::Action> - (New) Billing event action base class
372
373 L<FS::part_event_condition> - (New) Billing event condition class
374
375 L<FS::part_event_condition_option> - (New) Billing event condition option class
376
377 L<FS::part_event_condition_option_option> - (New) Billing event condition compound option class
378
379 L<FS::cust_event> - (New) Customer event class
380
381 L<FS::cust_bill_ApplicationCommon> - Base class for bill application classes
382
383 L<FS::cust_pay> - Payment class
384
385 L<FS::cust_pay_pending> - Pending payment class
386
387 L<FS::cust_pay_void> - Voided payment class
388
389 L<FS::cust_bill_pay> - Payment application class
390
391 L<FS::cust_bill_pay_pkg> - Line-item specific payment application class
392
393 L<FS::cust_bill_pay_batch> - Batch payment application class
394
395 L<FS::cust_credit> - Credit class
396
397 L<FS::cust_refund> - Refund class
398
399 L<FS::cust_credit_refund> - Refund application to credit class
400
401 L<FS::cust_credit_bill> - Credit application to invoice class
402
403 L<FS::cust_credit_bill_pkg> - Line-item specific credit application to invoice class
404
405 L<FS::cust_pay_refund> - Refund application to payment class
406
407 L<FS::pay_batch> - Credit card transaction queue class
408
409 L<FS::cust_pay_batch> - Credit card transaction member queue class
410
411 L<FS::prepay_credit> - Prepaid "calling card" credit class.
412
413 L<FS::nas> - Network Access Server class
414
415 L<FS::port> - NAS port class
416
417 L<FS::session> - User login session class
418
419 L<FS::queue> - Job queue
420
421 L<FS::queue_arg> - Job arguments
422
423 L<FS::queue_depend> - Job dependencies
424
425 L<FS::msg_template> - Message templates (customer notices)
426
427 L<FS::msgcat> - Message catalogs (error messages)
428
429 L<FS::clientapi_session>
430
431 L<FS::clientapi_session_field>
432
433 =head2 Historical database record classes
434
435 L<FS::h_Common> - History table base class
436
437 L<FS::h_cust_pay> - Historical record of customer payment changes
438
439 L<FS::h_cust_credit> - Historical record of customer credit changes
440
441 L<FS::h_cust_bill> - Historical record of customer tax changes (old-style)
442
443 L<FS::h_cust_svc> - Object method for h_cust_svc objects
444
445 L<FS::h_cust_tax_exempt> - Historical record of customer tax changes (old-style)
446
447 L<FS::h_domain_record> - Historical DNS entry objects
448
449 L<FS::h_svc_acct> - Historical account objects
450
451 L<FS::h_svc_broadband> - Historical broadband connection objects
452
453 L<FS::h_svc_cert> - Historical certificate services
454
455 L<FS::h_svc_dish> - Historical Dish Network services
456
457 L<FS::h_svc_domain> - Historical domain objects
458
459 L<FS::h_svc_dsl> - Historical DSL objects
460
461 L<FS::h_svc_external> - Historical externally tracked service objects
462
463 L<FS::h_svc_forward> - Historical mail forwarding alias objects
464
465 L<FS::h_svc_hardware> - Historical isntalled hardware service objects
466
467 L<FS::h_svc_mailinglist> - Historical mailing list objects
468
469 L<FS::h_svc_pbx> - Historical PBX objects
470
471 L<FS::h_svc_phone> - Historical phone number objects
472
473 L<FS::h_svc_port> - Historical port number objects
474
475 L<FS::h_svc_www> - Historical web virtual host objects
476
477 =head2 Remote API modules
478
479 L<FS::SelfService> - Self-service API
480
481 L<FS::SelfService::XMLRPC> - Self-service XML-RPC API
482
483 =head2 User Interface classes
484
485 L<FS::UI::Web> - Web user-interface class
486
487 L<FS::UI::bytecount> - Byte counter user-interface class
488
489 =head2 Command-line utilities
490
491 L<freeside-adduser> - Command line interface to add (freeside) users.
492
493 L<freeside-daily> - Run daily billing and collection events.
494
495 L<freeside-monthly> - Run monthly billing and invoice collection events.
496
497 L<freeside-dbdef-create> - Recreate database schema cache
498
499 L<freeside-deluser> - Command line interface to delete (freeside) users.
500
501 L<freeside-expiration-alerter> - Emails notifications of credit card expirations.
502
503 L<freeside-email> -  Prints email addresses of all users on STDOUT
504
505 L<freeside-fetch> - Send a freeside page to a list of employees.
506
507 L<freeside-prepaidd> - Real-time daemon for prepaid packages
508
509 L<freeside-prune-applications> - Removes stray applications of credit, payment to bills, refunds, etc.
510
511 L<freeside-queued> - Job queue daemon
512
513 L<freeside-radgroup> - Command line utility to manipulate radius groups
514
515 L<freeside-reexport> - Command line tool to re-trigger export jobs for existing services
516
517 L<freeside-reset-fixed> - Command line tool to set the fixed columns for existing services
518
519 L<freeside-sqlradius-dedup-group> - Command line tool to eliminate duplicate usergroup entries from radius tables
520
521 L<freeside-sqlradius-radacctd> - Real-time radacct import daemon
522
523 L<freeside-sqlradius-reset> - Command line interface to reset and recreate RADIUS SQL tables
524
525 L<freeside-sqlradius-seconds> - Command line time-online tool
526
527 L<freeside-upgrade> - Upgrades database schema for new freeside verisons.
528
529 =head1 Notes
530
531 To quote perl(1), "If you're intending to read these straight through for the
532 first time, the suggested order will tend to reduce the number of forward
533 references."
534
535 If you've never used OO modules before,
536 http://www.perl.com/doc/FMTEYEWTK/easy_objects.html might help you out.
537
538 =head1 DESCRIPTION
539
540 Freeside is a billing and administration package for wired and wireless ISPs,
541 VoIP, hosting, service and content providers and other online businesses.
542
543 The Freeside home page is at <http://www.sisd.com/freeside>.
544
545 The main documentation is at <http://www.sisd.com/mediawiki>.
546
547 =head1 SUPPORT
548
549 A mailing list for users is available.  Send a blank message to
550 <freeside-users-subscribe@sisd.com> to subscribe.
551
552 A mailing list for developers is available.  It is intended to be lower volume
553 and higher SNR than the users list.  Send a blank message to
554 <freeside-devel-subscribe@sisd.com> to subscribe.
555
556 Commercial support is available; see
557 <http://www.sisd.com/freeside/commercial.html>.
558
559 =head1 AUTHORS
560
561 =head2 CORE TEAM
562
563 Jeremy Davis
564
565 Ivan Kohler
566
567 Mark Wells
568
569 =head2 CORE EMERITUS
570
571 Peter Bowen
572
573 Jeff Finucane
574
575 Jason Hall
576
577 Kristian Hoffman
578
579 Erik Levinson
580
581 Brian McCane
582
583 Richard Siddall
584
585 Matt Simerson
586
587 =head2 CONTRIBUTORS
588
589 See httemplate/docs/credits.html
590
591 =head1 SEE ALSO
592
593 perl(1), main Freeside documentation at <http://www.sisd.com/mediawiki/>
594
595 =head1 BUGS
596
597 Those modules which would be useful separately should be pulled out, 
598 renamed appropriately and uploaded to CPAN.  So far: DBIx::DBSchema, Net::SSH
599 and Net::SCP...
600
601 =cut
602