add svc_forward, depriciate svc_acct_sm
[freeside.git] / htdocs / docs / schema.html
index 5a296ec..a61000f 100644 (file)
         <li>typenum - primary key
         <li>atype - name of this agent type
       </ul>
-    <li><a name="cust_bill">cust_bill</a> - Invoices
+    <li><a name="cust_bill">cust_bill</a> - Invoices.  Declarations that a customer owes you money.  The specific charges are itemized in <a href="#cust_billl_pkg">cust_bill_pkg</a>.
       <ul>
         <li>invnum - primary key
         <li>custnum - <a href="#cust_main">customer</a>
         <li>_date
         <li>charged - amount of this invoice
-        <li>owed - amount still outstanding on this invoice
         <li>printed - how many times this invoice has been printed automatically
       </ul>
     <li><a name="cust_bill_pkg">cust_bill_pkg</a> - Invoice line items
       <ul>
         <li>invnum - (multiple) key
-        <li>pkgnum - <a href="#cust_pkg">package</a>
+        <li>pkgnum - <a href="#cust_pkg">package</a> or 0 for the special virtual sales tax package
         <li>setup - setup fee 
         <li>recur - recurring fee
         <li>sdate - starting date
         <li>edate - ending date
       </ul>
-    <li><a name="cust_credit">cust_credit</a> - Credits
+    <li><a name="cust_credit">cust_credit</a> - Credits.  The equivalent of a negative <a href="#cust_bill">cust_bill</a> record.
       <ul>
         <li>crednum - primary key
         <li>custnum - <a href="#cust_main">customer</a>
         <li>amount - amount credited
-        <li>credited - amount still outstanding (not yet refunded) on this credit
         <li>_date
         <li>otaker - order taker
         <li>reason
@@ -50,7 +48,9 @@
         <li>custnum - primary key
         <li>agentnum - <a href="#agent">agent</a>
         <li>refnum - <a href="#part_referral">referral</a>
+        <li>titlenum - <a href="#part_title">title</a>
         <li>first - name
+        <li>middle - name
         <li>last - name
         <li>ss - social security number
         <li>company
@@ -63,6 +63,7 @@
         <li>country
         <li>daytime - phone
         <li>night - phone
+        <li>fax - phone
         <li>payby - CARD, BILL, or COMP
         <li>payinfo - card number, P.O.#, or comp issuer
         <li>paydate - expiration date
         <li>tax - tax exempt, Y or null
         <li>otaker - order taker
       </ul>
+    <li><a name="cust_main_invoice">cust_main_invoice</a> - Invoice destinations for email invoices.  Note that a customer can have many email destinations for their invoice (either literal or via svcnum), but only one postal destination.
+      <ul>
+        <li>destnum - primary key
+        <li>custnum - <a href="#cust_main">customer</a>
+        <li>dest - Invoice destination.  Freeside supports three types of invoice delivery: send directly to a service defined in Freeside, send to an arbitrary email address, or print the invoice to a printer and have someone send it out via snail mail.  Freeside determines which method to use based on the contents of the dest field.  If the contents are numeric, a <a href="#svc_acct">svcnum</a> pointing to a valid service is expected in the field.  If the contents are a string, a literal email address is expected to be in the field.  If the special keyword `POST' is present, the snail mail method is used (which is the default if no cust_main_invoice records exist).  Snail mail invoices get their address information from <A name="#cust_main">cust_main</A> and are printed with the printer defined in the configuration files.
+      </ul>
     <li><a name="cust_main_county">cust_main_county</a> - Tax rates
       <ul>
         <li>taxnum - primary key
         <li>state
         <li>county
+        <li>country
         <li>tax - % rate
       </ul>
-    <li><a name="cust_pay">cust_pay</a> - Payments
+    <li><a name="cust_pay">cust_pay</a> - Payments.  Money being transferred from a customer.
       <ul>
         <li>paynum - primary key
         <li>invnum - <a href="#cust_bill">invoice</a>
         <li>cancel - (past) cancellation date
         <li>otaker - order taker
       </ul>
-    <li><a name="cust_refund">cust_refund</a> - Refunds
+    <li><a name="cust_refund">cust_refund</a> - Refunds.  The transfer of money to a customer; equivalent to a negative <a href="#cust_pay">cust_pay</a> record.
       <ul>
         <li>refundnum - primary key
         <li>crednum - <a href="#cust_credit">credit</a>
         <li>pkgnum - <a href="#cust_pkg">package</a>
         <li>svcpart - <a href="#part_svc">Service definition</a>
       </ul>
+    <li><a name="nas">nas</a> - Network Access Server (terminal server)
+      <ul>
+        <li>nasnum - primary key
+        <li>nas - NAS name
+        <li>nasip - NAS ip address
+        <li>nasfqdn - NAS fully-qualified domain name
+        <li>last - timestamp indicating the last instant the NAS was in a known state (used by the session monitoring).
+      </ul>
     <li><a name="part_pkg">part_pkg</a> - Package definitions
       <ul>
         <li>pkgpart - primary key
       </ul>
     <li><a name="part_referral">part_referral</a> - Referral listing
       <ul>
-        <li>refnum</li> - primary key
-        <li>referral</li> - referral
+        <li>refnum - primary key
+        <li>referral - referral
       </ul>
     <li><a name="part_svc">part_svc</a> - Service definitions
       <ul>
         <li><i>table</i>__<i>field</i> - Default or fixed value for <i>field</i> in <i>table</i>
         <li><i>table</i>__<i>field</i>_flag - null, D or F
       </ul>
+    <li><a name="part_title">part_title</a> - Personal titles
+      <ul>
+        <li>titlenum - primary key
+        <li>title - personal title (`Dr.' or `Mr.')
+      </ul>
     <li><a name="pkg_svc">pkg_svc</a>
       <ul>
         <li>pkgpart - <a href="#part_pkg">Package definition</a>
         <li>svcpart - <a href="#part_svc">Service definition</a>
         <li>quantity - quantity of this service that this package includes
       </ul>
+    <li><a name="port">port</a> - individual port on a <a href="#nas">nas</a>
+      <ul>
+        <li>portnum - primary key
+        <li>ip - IP address of this port
+        <li>nasport - port number on the NAS
+        <li>nasnum - <a href="#nas">NAS</a>
+      </ul>
+    <li><a name="prepay_credit">prepay_credit</a>
+      <ul>
+        <li>prepaynum - primary key
+        <li>identifier - text or numeric string used to receive this credit
+        <li>amount - amount of credit
+      </ul>
+    <li><a name="session">session</a>
+      <ul>
+        <li>sessionnum - primary key
+        <li>portnum - <a href="#port">Port</a>
+        <li>svcnum - <a href="#svc_acct">Account</a>
+        <li>login - timestamp indicating the beginning of this user session.
+        <li>logout - timestamp indicating the end of this user session.  May be null, which indicates a currently open session.
+      </ul>
+
     <li><a name="svc_acct">svc_acct</a> - Accounts
       <ul>
         <li>svcnum - <a href="#cust_svc">primary key</a>
         <li>state
         <li>ac - area code
         <li>exch - exchange
+        <li>loc - rest of number
       </ul>
     <li><a name="svc_acct_sm">svc_acct_sm</a> - Domain mail aliases
       <ul>
         <li>svcnum - <a href="#cust_svc">primary key</a>
         <li>domain
       </ul>
+    <li><a name="domain_record">domain_record</a> - Domain zone detail
+      <ul>
+        <li>recnum - primary key
+        <li>svcnum - <a href="#svc_domain">Domain</a> (by svcnum)
+        <li>reczone - zone for this line
+        <li>recaf - address family, usually <b>IN</b>
+        <li>rectype - type for this record (<b>A</b>, <b>MX</b>, etc.)
+        <li>recdata - data for this record
+      </ul>
+    <li><a name="svc_www">svc_www</a>
+      <ul>
+       <li>svcnum - <a href="#cust-svc">primary key</a>
+       <li>recnum - <a href="#domain_record">host</a>
+       <li>usersvc - <a href="#svc_acct">account</a>
+      </ul>
     <li><a name="type_pkgs">type_pkgs</a>
       <ul>
         <li>typenum - <a href="#agent_type">agent type</a>