infrastructure for easier schema changes, and: add payment_gateway, payment_gateway_o...
[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 L<FS::clientapi_session>
164
165 L<FS::clientapi_session_field>
166
167 =head1 Client API
168
169 L<FS::ClientAPI>
170
171 L<FS::ClientAPI_SessionCache>
172
173 L<FS::ClientAPI::Signup>
174
175 L<FS::ClientAPI::passwd>
176
177 L<FS::ClientAPI::MyAccount>
178
179 L<FS::ClientAPI::Agent>
180
181 =head1 Remote API modules
182
183 L<FS::SelfService>
184
185 L<FS::SignupClient>
186
187 L<FS::SessionClient>
188
189 L<FS::MailAdminServer> (deprecated in favor of the self-service server)
190
191 =head2 Command-line utilities
192
193 L<freeside-adduser>
194
195 L<freeside-queued>
196
197 L<freeside-daily>
198
199 L<freeside-expiration-alerter>
200
201 L<freeside-email>
202
203 L<freeside-cc-receipts-report>
204
205 L<freeside-credit-report>
206
207 L<freeside-receivables-report>
208
209 L<freeside-tax-report>
210
211 L<freeside-bill>
212
213 L<freeside-overdue>
214
215 =head2 User Interface classes
216
217 L<FS::UI::Web> - Web user-interface class
218
219 =head2 Notes
220
221 To quote perl(1), "If you're intending to read these straight through for the
222 first time, the suggested order will tend to reduce the number of forward
223 references."
224
225 If you've never used OO modules before,
226 http://www.perl.com/doc/FMTEYEWTK/easy_objects.html might help you out.
227
228 =head1 DESCRIPTION
229
230 Freeside is a billing and administration package for Internet Service
231 Providers.
232
233 The Freeside home page is at <http://www.sisd.com/freeside>.
234
235 The main documentation is in httemplate/docs.
236
237 =head1 SUPPORT
238
239 A mailing list for users is available.  Send a blank message to
240 <freeside-users-subscribe@sisd.com> to subscribe.
241
242 A mailing list for developers is available.  It is intended to be lower volume
243 and higher SNR than the users list.  Send a blank message to
244 <freeside-devel-subscribe@sisd.com> to subscribe.
245
246 Commercial support is available; see
247 <http://www.sisd.com/freeside/commercial.html>.
248
249 =head1 AUTHOR
250
251 Primarily Ivan Kohler <ivan@sisd.com>, with help from many kind folks.
252
253 See the CREDITS file in the Freeside distribution for a (hopefully) complete
254 list and the individal files for details.
255
256 =head1 SEE ALSO
257
258 perl(1), main Freeside documentation in htdocs/docs/
259
260 =head1 BUGS
261
262 Those modules which would be useful separately should be pulled out, 
263 renamed appropriately and uploaded to CPAN.  So far: DBIx::DBSchema, Net::SSH
264 and Net::SCP...
265
266 =cut
267