registration codes
[freeside.git] / FS / FS.pm
1 package FS;
2
3 use strict;
4 use vars qw($VERSION);
5
6 $VERSION = '%%%VERSION%%%';
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::Conf> - Freeside configuration values
25
26 L<FS::ConfItem> - Freeside configuration option meta-data.
27
28 L<FS::UID> - User class (not yet OO)
29
30 L<FS::CGI> - Non OO-subroutines for the web interface.
31
32 L<FS::Msgcat> - Message catalog
33
34 L<FS::SearchCache> - Search cache
35
36 L<FS::raddb> - RADIUS dictionary
37
38 =head2 Database record classes
39
40 L<FS::Record> - Database record base class
41
42 L<FS::svc_acct_pop> - POP (Point of Presence, not Post
43 Office Protocol) class
44
45 L<FS::part_pop_local> - Local calling area class
46
47 L<FS::part_referral> - Referral class
48
49 L<FS::cust_main_county> - Locale (tax rate) class
50
51 L<FS::cust_tax_exempt> - Tax exemption record class
52
53 L<FS::svc_Common> - Service base class
54
55 L<FS::svc_acct> - Account (shell, RADIUS, POP3) class
56
57 L<FS::acct_snarf> - External mail account class
58
59 L<FS::radius_usergroup> - RADIUS groups
60
61 L<FS::svc_domain> - Domain class
62
63 L<FS::domain_record> - DNS zone entries
64
65 L<FS::svc_forward> - Mail forwarding class
66
67 L<FS::svc_www> - Web virtual host class.
68
69 L<FS::svc_broadband> - DSL, wireless and other broadband class.
70
71 L<FS::svc_external> - Externally tracked service class.
72
73 L<FS::part_svc> - Service definition class
74
75 L<FS::part_svc_column> - Column constraint class
76
77 L<FS::export_svc> - Class linking service definitions (see L<FS::part_svc>)
78 with exports (see L<FS::part_export>)
79
80 L<FS::part_export> - External provisioning export class
81
82 L<FS::part_export_option> - Export option class
83
84 L<FS::part_pkg> - Package definition class
85
86 L<FS::part_pkg_option> - Package definition option class
87
88 L<FS::pkg_svc> - Class linking package definitions (see L<FS::part_pkg>) with
89 service definitions (see L<FS::part_svc>)
90
91 L<FS::reg_code> - One-time registration codes
92
93 L<FS::reg_code_pkg> - Class linking registration codes (see L<FS::reg_code>) with package definitions (see L<FS::part_pkg>)
94
95 L<FS::rate> - Rate plans for call billing
96
97 L<FS::rate_region> - Rate regions for call billing
98
99 L<FS::rate_prefix> - Rate region prefixes for call billing
100
101 L<FS::rate_detail> - Rate plan detail for call billing
102
103 L<FS::agent> - Agent (reseller) class
104
105 L<FS::agent_type> - Agent type class
106
107 L<FS::type_pkgs> - Class linking agent types (see L<FS::agent_type>) with
108 package definitions (see L<FS::part_pkg>)
109
110 L<FS::cust_svc> - Service class
111
112 L<FS::cust_pkg> - Customer package class
113
114 L<FS::cust_main> - Customer class
115
116 L<FS::cust_main_invoice> - Invoice destination
117 class
118
119 L<FS::cust_bill> - Invoice class
120
121 L<FS::cust_bill_pkg> - Invoice line item class
122
123 L<FS::cust_bill_pkg_detail> - Invoice line item detail class
124
125 L<FS::part_bill_event> - Invoice event definition class
126
127 L<FS::cust_bill_event> - Completed invoice event class
128
129 L<FS::cust_pay> - Payment class
130
131 L<FS::cust_pay_void> - Voided payment class
132
133 L<FS::cust_bill_pay> - Payment application class
134
135 L<FS::cust_credit> - Credit class
136
137 L<FS::cust_refund> - Refund class
138
139 L<FS::cust_credit_refund> - Refund application to credit class
140
141 L<FS::cust_credit_bill> - Credit application to invoice class
142
143 L<FS::cust_pay_refund> - Refund application to payment class
144
145 L<FS::cust_pay_batch> - Credit card transaction queue class
146
147 L<FS::prepay_credit> - Prepaid "calling card" credit class.
148
149 L<FS::nas> - Network Access Server class
150
151 L<FS::port> - NAS port class
152
153 L<FS::session> - User login session class
154
155 L<FS::queue> - Job queue
156
157 L<FS::queue_arg> - Job arguments
158
159 L<FS::queue_depend> - Job dependencies
160
161 L<FS::msgcat> - Message catalogs
162
163 =head1 Remote API modules
164
165 L<FS::SelfService>
166
167 L<FS::SignupClient>
168
169 L<FS::SessionClient>
170
171 L<FS::MailAdminServer> (deprecated in favor of the self-service server)
172
173 =head2 Command-line utilities
174
175 L<freeside-adduser>
176
177 L<freeside-queued>
178
179 L<freeside-daily>
180
181 L<freeside-expiration-alerter>
182
183 L<freeside-email>
184
185 L<freeside-cc-receipts-report>
186
187 L<freeside-credit-report>
188
189 L<freeside-receivables-report>
190
191 L<freeside-tax-report>
192
193 L<freeside-bill>
194
195 L<freeside-overdue>
196
197 =head2 User Interface classes (under (stalled) development; not yet usable)
198
199 L<FS::UI::Base> - User-interface base class
200
201 L<FS::UI::Gtk> - Gtk user-interface class
202
203 L<FS::UI::CGI> - CGI (HTML) user-interface class
204
205 L<FS::UI::agent> - agent table user-interface class
206
207 =head2 Notes
208
209 To quote perl(1), "If you're intending to read these straight through for the
210 first time, the suggested order will tend to reduce the number of forward
211 references."
212
213 If you've never used OO modules before,
214 http://www.perl.com/doc/FMTEYEWTK/easy_objects.html might help you out.
215
216 =head1 DESCRIPTION
217
218 Freeside is a billing and administration package for Internet Service
219 Providers.
220
221 The Freeside home page is at <http://www.sisd.com/freeside>.
222
223 The main documentation is in httemplate/docs.
224
225 =head1 SUPPORT
226
227 A mailing list for users is available.  Send a blank message to
228 <ivan-freeside-subscribe@sisd.com> to subscribe.
229
230 A mailing list for developers is available.  It is intended to be lower volume
231 and higher SNR than the users list.  Send a blank message to
232 <ivan-freeside-devel-subscribe@sisd.com> to subscribe.
233
234 Commercial support is available; see
235 <http://www.sisd.com/freeside/commercial.html>.
236
237 =head1 AUTHOR
238
239 Primarily Ivan Kohler <ivan@sisd.com>, with help from many kind folks.
240
241 See the CREDITS file in the Freeside distribution for a (hopefully) complete
242 list and the individal files for details.
243
244 =head1 SEE ALSO
245
246 perl(1), main Freeside documentation in htdocs/docs/
247
248 =head1 BUGS
249
250 Those modules which would be useful separately should be pulled out, 
251 renamed appropriately and uploaded to CPAN.  So far: DBIx::DBSchema, Net::SSH
252 and Net::SCP...
253
254 =cut
255