485792a17ba57dd855d1f0ae7be7d0573cb7e444
[freeside.git] / FS / FS.pm
1 package FS;
2
3 use strict;
4 use vars qw($VERSION);
5
6 $VERSION = '4.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_session> - Access sessions
91
92 L<FS::access_user_pref> - Employee preferences
93
94 L<FS::access_group> - Employee groups
95
96 L<FS::access_usergroup> - Employee group membership
97
98 L<FS::access_groupagent> - Group reseller 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::svc_cable> - Cable service class
212
213 L<FS::cable_model> - Cable-modem model class
214
215 L<FS::cable_provider> - Cable provider class
216
217 L<FS::svc_alarm> - Alarm service class
218
219 L<FS::alarm_system> - Alarm system class
220
221 L<FS::alarm_type> - Alarm type (inputs and outputs) class
222
223 L<FS::alarm_station> - Alarm central station class
224
225 L<FS::inventory_class> - Inventory classes
226
227 L<FS::inventory_item> - Inventory items
228
229 L<FS::part_svc> - Service definition class
230
231 L<FS::part_svc_class> - Service class class
232
233 L<FS::part_svc_column> - Column constraint class
234
235 L<FS::export_svc> - Class linking service definitions (see L<FS::part_svc>)
236 with exports (see L<FS::part_export>)
237
238 L<FS::part_export> - External provisioning export class
239
240 L<FS::part_export_option> - Export option class
241
242 L<FS::pkg_category> - Package category class (invoice oriented)
243
244 L<FS::pkg_class> - Package class class
245
246 L<FS::part_pkg> - Package definition class
247
248 L<FS::part_pkg_msgcat> - Package definition localization class
249
250 L<FS::part_pkg_currency> - Package definition local currency prices
251
252 L<FS::currency_exchange> - Currency exchange rates
253
254 L<FS::part_pkg_link> - Package definition link class
255
256 L<FS::part_pkg_taxclass> - Tax class class
257
258 L<FS::part_pkg_option> - Package definition option class
259
260 L<FS::part_pkg_report_option> - Package reporting classification class
261
262 L<FS::part_pkg_vendor> - Package external mapping class
263
264 L<FS::pkg_svc> - Class linking package definitions (see L<FS::part_pkg>) with
265 service definitions (see L<FS::part_svc>)
266
267 L<FS::qual> - Service qualification class
268
269 L<FS::qual_option> - Qualification option class
270
271 L<FS::reg_code> - One-time registration codes
272
273 L<FS::reg_code_pkg> - Class linking registration codes (see L<FS::reg_code>) with package definitions (see L<FS::part_pkg>)
274
275 L<FS::rate> - Rate plans for call billing
276
277 L<FS::rate_region> - Rate regions for call billing
278
279 L<FS::rate_prefix> - Rate region prefixes for call billing
280
281 L<FS::rate_detail> - Rate plan detail for call billing
282
283 L<FS::rate_tier> - Rate tiers for call billing
284
285 L<FS::rate_tier_details> - Rater tier details for call billing
286
287 L<FS::usage_class> - Usage class class
288
289 L<FS::sales> - Sales person class
290
291 L<FS::sales_pkg_class> - Sales person package class commission class
292
293 L<FS::agent> - Agent (reseller) class
294
295 L<FS::agent_currency> - Agent (reseller) currency class
296
297 L<FS::agent_pkg_class> - Agent (reseller) package class commission class
298
299 L<FS::agent_type> - Agent type class
300
301 L<FS::type_pkgs> - Class linking agent types (see L<FS::agent_type>) with package definitions (see L<FS::part_pkg>)
302
303 L<FS::payment_gateway> - Payment gateway class
304
305 L<FS::payment_gateway_option> - Payment gateway option class
306
307 L<FS::agent_payment_gateway> - Agent payment gateway class
308
309 L<FS::cust_svc> - Service class
310
311 L<FS::part_export_machine> - Export hostname choice class
312
313 L<FS::svc_export_machine> - Customer export hostname class
314
315 L<FS::cust_pkg> - Customer package class
316
317 L<FS::cust_pkg_option> - Customer package option class
318
319 L<FS::cust_pkg_detail> - Customer package details class
320
321 L<FS:;cust_pkg_discount> - Customer package discount class
322
323 L<FS:;cust_bill_pkg_discount> - Customer package discount line item application class
324
325 L<FS::discount> - Discount class
326
327 L<FS::discount_class> - Discount class class
328
329 L<FS::reason_type> - Reason type class
330
331 L<FS::reason> - Reason class
332
333 L<FS::cust_pkg_reason> - Package reason class
334
335 L<FS::contact_class> - Contact class class
336
337 L<FS::contact> - Contact class
338
339 L<FS::contact_phone> - Contact phone class
340
341 L<FS::phone_type> - Phone type class
342
343 L<FS::contact_email> - Contact email class
344
345 L<FS::prospect_main> - Prospect class
346
347 L<FS::cust_main> - Customer class
348
349 L<FS::cust_main::Billing> - Customer billing class
350
351 L<FS::cust_main::Billing_Realtime> - Customer real-time billing class
352
353 L<FS::cust_main::Packages> - Customer packages class
354
355 L<FS::cust_payby> - Customer payment information class
356
357 L<FS::cust_location> - Customer location class
358
359 L<FS::cust_main_Mixin> - Mixin class for records that contain fields from cust_main
360
361 L<FS::cust_main_invoice> - Invoice destination class
362
363 L<FS::cust_class> - Customer classification class
364
365 L<FS::cust_category> - Customer category class
366
367 L<FS::cust_tag> - Customer tag class
368
369 L<FS::part_tag> - Tag definition class
370
371 L<FS::cust_main_exemption> - Customer tax exemption class
372
373 L<FS::cust_main_note> - Customer note class
374
375 L<FS::cust_note_class> - Customer note classification class
376
377 L<FS::banned_pay> - Banned payment information class
378
379 L<FS::cust_bill> - Invoice class
380
381 L<FS::cust_statement> - Informational statement class
382
383 L<FS::cust_bill_pkg> - Invoice line item class
384
385 L<FS::cust_bill_pkg_detail> - Invoice line item detail class
386
387 L<FS::legacy_cust_bill> - Legacy data invoice class
388
389 L<FS::part_bill_event> - (Old) Invoice event definition class
390
391 L<FS::cust_bill_event> - (Old) Completed invoice event class
392
393 L<FS::part_event> - (New) Billing event definition class
394
395 L<FS::part_event_option> - (New) Billing event option class
396
397 L<FS::part_event::Condition> - (New) Billing event condition base class
398
399 L<FS::part_event::Action> - (New) Billing event action base class
400
401 L<FS::part_event_condition> - (New) Billing event condition class
402
403 L<FS::part_event_condition_option> - (New) Billing event condition option class
404
405 L<FS::part_event_condition_option_option> - (New) Billing event condition compound option class
406
407 L<FS::cust_event> - (New) Customer event class
408
409 L<FS::cust_bill_ApplicationCommon> - Base class for bill application classes
410
411 L<FS::cust_pay> - Payment class
412
413 L<FS::cust_pay_pending> - Pending payment class
414
415 L<FS::cust_pay_void> - Voided payment class
416
417 L<FS::cust_bill_pay> - Payment application class
418
419 L<FS::cust_bill_pay_pkg> - Line-item specific payment application class
420
421 L<FS::cust_bill_pay_batch> - Batch payment application class
422
423 L<FS::cust_credit> - Credit class
424
425 L<FS::cust_refund> - Refund class
426
427 L<FS::cust_credit_refund> - Refund application to credit class
428
429 L<FS::cust_credit_bill> - Credit application to invoice class
430
431 L<FS::cust_credit_bill_pkg> - Line-item specific credit application to invoice class
432
433 L<FS::cust_pay_refund> - Refund application to payment class
434
435 L<FS::pay_batch> - Credit card transaction queue class
436
437 L<FS::cust_pay_batch> - Credit card transaction member queue class
438
439 L<FS::prepay_credit> - Prepaid "calling card" credit class.
440
441 L<FS::nas> - Network Access Server class
442
443 L<FS::port> - NAS port class
444
445 L<FS::session> - User login session class
446
447 L<FS::queue> - Job queue
448
449 L<FS::queue_arg> - Job arguments
450
451 L<FS::queue_depend> - Job dependencies
452
453 L<FS::msg_template> - Message templates (customer notices)
454
455 L<FS::msgcat> - Message catalogs (error messages)
456
457 L<FS::clientapi_session>
458
459 L<FS::clientapi_session_field>
460
461 =head2 Historical database record classes
462
463 L<FS::h_Common> - History table base class
464
465 L<FS::h_cust_pay> - Historical record of customer payment changes
466
467 L<FS::h_cust_credit> - Historical record of customer credit changes
468
469 L<FS::h_cust_bill> - Historical record of customer tax changes (old-style)
470
471 L<FS::h_cust_svc> - Object method for h_cust_svc objects
472
473 L<FS::h_cust_tax_exempt> - Historical record of customer tax changes (old-style)
474
475 L<FS::h_domain_record> - Historical DNS entry objects
476
477 L<FS::h_svc_acct> - Historical account objects
478
479 L<FS::h_svc_broadband> - Historical broadband connection objects
480
481 L<FS::h_svc_cert> - Historical certificate services
482
483 L<FS::h_svc_dish> - Historical Dish Network services
484
485 L<FS::h_svc_domain> - Historical domain objects
486
487 L<FS::h_svc_dsl> - Historical DSL objects
488
489 L<FS::h_svc_external> - Historical externally tracked service objects
490
491 L<FS::h_svc_forward> - Historical mail forwarding alias objects
492
493 L<FS::h_svc_hardware> - Historical isntalled hardware service objects
494
495 L<FS::h_svc_mailinglist> - Historical mailing list objects
496
497 L<FS::h_svc_pbx> - Historical PBX objects
498
499 L<FS::h_svc_phone> - Historical phone number objects
500
501 L<FS::h_svc_port> - Historical port number objects
502
503 L<FS::h_svc_www> - Historical web virtual host objects
504
505 =head2 Remote API modules
506
507 L<FS::SelfService> - Self-service API
508
509 L<FS::SelfService::XMLRPC> - Self-service XML-RPC API
510
511 =head2 User Interface classes
512
513 L<FS::UI::Web> - Web user-interface class
514
515 L<FS::UI::bytecount> - Byte counter user-interface class
516
517 =head2 Command-line utilities
518
519 L<freeside-adduser> - Command line interface to add (freeside) users.
520
521 L<freeside-daily> - Run daily billing and collection events.
522
523 L<freeside-monthly> - Run monthly billing and invoice collection events.
524
525 L<freeside-dbdef-create> - Recreate database schema cache
526
527 L<freeside-deluser> - Command line interface to delete (freeside) users.
528
529 L<freeside-expiration-alerter> - Emails notifications of credit card expirations.
530
531 L<freeside-email> -  Prints email addresses of all users on STDOUT
532
533 L<freeside-fetch> - Send a freeside page to a list of employees.
534
535 L<freeside-prepaidd> - Real-time daemon for prepaid packages
536
537 L<freeside-prune-applications> - Removes stray applications of credit, payment to bills, refunds, etc.
538
539 L<freeside-queued> - Job queue daemon
540
541 L<freeside-radgroup> - Command line utility to manipulate radius groups
542
543 L<freeside-reexport> - Command line tool to re-trigger export jobs for existing services
544
545 L<freeside-reset-fixed> - Command line tool to set the fixed columns for existing services
546
547 L<freeside-sqlradius-dedup-group> - Command line tool to eliminate duplicate usergroup entries from radius tables
548
549 L<freeside-sqlradius-radacctd> - Real-time radacct import daemon
550
551 L<freeside-sqlradius-reset> - Command line interface to reset and recreate RADIUS SQL tables
552
553 L<freeside-sqlradius-seconds> - Command line time-online tool
554
555 L<freeside-upgrade> - Upgrades database schema for new freeside verisons.
556
557 =head1 Notes
558
559 To quote perl(1), "If you're intending to read these straight through for the
560 first time, the suggested order will tend to reduce the number of forward
561 references."
562
563 If you've never used OO modules before,
564 http://www.perl.com/doc/FMTEYEWTK/easy_objects.html might help you out.
565
566 =head1 DESCRIPTION
567
568 Freeside is a billing and administration package for wired and wireless ISPs,
569 VoIP, hosting, service and content providers and other online businesses.
570
571 The Freeside home page is at <http://www.sisd.com/freeside>.
572
573 The main documentation is at <http://www.sisd.com/mediawiki>.
574
575 =head1 SUPPORT
576
577 A mailing list for users is available.  Send a blank message to
578 <freeside-users-subscribe@sisd.com> to subscribe.
579
580 A mailing list for developers is available.  It is intended to be lower volume
581 and higher SNR than the users list.  Send a blank message to
582 <freeside-devel-subscribe@sisd.com> to subscribe.
583
584 Commercial support is available; see
585 <http://www.sisd.com/freeside/commercial.html>.
586
587 =head1 AUTHORS
588
589 =head2 CORE TEAM
590
591 Jeremy Davis
592
593 Ivan Kohler
594
595 Mark Wells
596
597 =head2 CORE EMERITUS
598
599 Peter Bowen
600
601 Jeff Finucane
602
603 Jason Hall
604
605 Kristian Hoffman
606
607 Erik Levinson
608
609 Brian McCane
610
611 Richard Siddall
612
613 Matt Simerson
614
615 =head2 CONTRIBUTORS
616
617 See httemplate/docs/credits.html
618
619 =head1 SEE ALSO
620
621 perl(1), main Freeside documentation at <http://www.sisd.com/mediawiki/>
622
623 =head1 BUGS
624
625 Those modules which would be useful separately should be pulled out, 
626 renamed appropriately and uploaded to CPAN.  So far: DBIx::DBSchema, Net::SSH
627 and Net::SCP...
628
629 =cut
630