place to track an imported rateid, RT#83146
[freeside.git] / FS / FS / Schema.pm
index 2cb9425..8a349f7 100644 (file)
@@ -203,6 +203,7 @@ sub dbdef_dist {
            && ! /^log(_context)?$/
            && ! /^(legacy_cust_history|cacti_page|template_image|access_user_log)$/
            && ( ! /^queue(_arg|_depend|_stat)?$/ || ! $opt->{'queue-no_history'} )
+           && ! /^addr_status$/
            && ! $tables_hashref_torrus->{$_}
          }
       $dbdef->tables
@@ -494,8 +495,44 @@ sub tables_hashref {
 
   my $username_len = 64; #usernamemax config file
 
-    # name type nullability length default local
+  # Return a hashref defining the entire application database schema
+  # Each key of the hashref contains a structure describing a database table
+  #
+  # table_name => {
+  #   columns      => [...],
+  #   primary_key  => 'column',
+  #   unique       => [column,column,...],
+  #   index        => [[column],[column,column],...],
+  #   foreign_keys => [{...},{...},...],
+  # }
+  #
+  #
+  # columns => [
+  #
+  #   'column_name',
+  #
+  #   'column_type',
+  #
+  #   'NULL' or '',   # 'NULL' : Allow null values
+  #                   # ''     : Disallow null values
+  #
+  #   'length',       # Column size value.  eg:
+  #                   # 40     : VARCHAR(40)
+  #                   # '10,2' : FLOAT(10,2)
+  #
+  #   'default',      # Default column value for a new record
+  #                   # (Unclear if setting this to '' results in a default
+  #                   #  value of NULL or empty string?)
+  #
+  #   '',             # local ?
+  #
+  #   name, type, nullability, length, default, local,
+  #   name, type, nullability, length, default, local,
+  #   ...
+  #
+  # ],
 
+  # name type nullability length default local
   return {
 
     'agent' => {
@@ -657,6 +694,7 @@ sub tables_hashref {
         'title',     'varchar', 'NULL', $char_d, '', '',
         'body',      'blob', 'NULL', '', '', '',
         'disabled',  @date_type, '', '',
+        'attachnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'attachnum',
       'unique'       => [],
@@ -694,6 +732,7 @@ sub tables_hashref {
         'statementnum', 'int', 'NULL', '', '', '', #invoice aggregate statements
         'agent_invid',  'int', 'NULL', '', '', '', #(varchar?) importing legacy
         'promised_date', @date_type,       '', '',
+        'taxengine_request', 'text', 'NULL', '', '', '',
         
         'pending',     'char', 'NULL',  1, '', '',
       ],
@@ -731,6 +770,7 @@ sub tables_hashref {
         'statementnum', 'int', 'NULL', '', '', '', #invoice aggregate statements
         'agent_invid',  'int', 'NULL', '', '', '', #(varchar?) importing legacy
         'promised_date', @date_type,       '', '',
+        'taxengine_request', 'text', 'NULL', '', '', '',
 
         #void fields
         'void_date', @date_type, '', '', 
@@ -923,12 +963,13 @@ sub tables_hashref {
         '_date',     @date_type, '', '', 
         'status', 'varchar', '', $char_d, '', '', 
         'statustext', 'text', 'NULL', '', '', '', 
+        'no_action',  'char', 'NULL',  1, '', '',
       ],
       'primary_key'  => 'eventnum',
       #no... there are retries now #'unique' => [ [ 'eventpart', 'invnum' ] ],
       'unique'       => [],
       'index'        => [ ['eventpart'], ['tablenum'], ['status'],
-                          ['statustext'], ['_date'],
+                          ['statustext'], ['_date'], ['no_action'],
                         ],
       'foreign_keys' => [
                           { columns    => [ 'eventpart' ],
@@ -984,6 +1025,7 @@ sub tables_hashref {
         'quantity',               'int', 'NULL',      '', '', '',
         'hidden',                'char', 'NULL',       1, '', '',
         'feepart',                'int', 'NULL',      '', '', '',
+        'billpkgnum_import',      'int', 'NULL',      '', '', '',
       ],
       'primary_key'  => 'billpkgnum',
       'unique'       => [],
@@ -1022,6 +1064,7 @@ sub tables_hashref {
         'startdate',  @date_type, '', '', 
         'regionname', 'varchar', 'NULL', $char_d, '', '',
         'detail',  'varchar', '', 255, '', '',
+        'detailnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'detailnum',
       'unique'       => [],
@@ -1054,6 +1097,7 @@ sub tables_hashref {
         'post_total', 'char', 'NULL', 1, '', '',
         'type',       'char', 'NULL', 1, '', '',
         'summary',    'char', 'NULL', 1, '', '',
+        'billpkgdisplaynum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'billpkgdisplaynum',
       'unique'       => [],
@@ -1119,6 +1163,7 @@ sub tables_hashref {
         'amount',             @money_type,                  '', '',
         'currency',                'char', 'NULL',       3, '', '',
         'taxable_billpkgnum',       'int', 'NULL',      '', '', '',
+        'billpkgtaxlocationnum_import', 'int', 'NULL',  '', '', '',
       ],
       'primary_key'  => 'billpkgtaxlocationnum',
       'unique'       => [],
@@ -1203,6 +1248,7 @@ sub tables_hashref {
         'reason',     'varchar', 'NULL', $char_d, '', '', 
         'reasonnum',      'int', 'NULL',      '', '', '',
         'void_usernum',   'int', 'NULL',      '', '', '',
+        'billpkgnum_import', 'int', 'NULL',   '', '', '',
       ],
       'primary_key'  => 'billpkgnum',
       'unique'       => [],
@@ -1246,6 +1292,7 @@ sub tables_hashref {
         'startdate',  @date_type, '', '', 
         'regionname', 'varchar', 'NULL', $char_d, '', '',
         'detail',  'varchar', '', 255, '', '', 
+        'detailnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'detailnum',
       'unique'       => [],
@@ -1276,6 +1323,7 @@ sub tables_hashref {
         'post_total', 'char', 'NULL', 1, '', '',
         'type',       'char', 'NULL', 1, '', '',
         'summary',    'char', 'NULL', 1, '', '',
+        'billpkgdisplaynum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'billpkgdisplaynum',
       'unique'       => [],
@@ -1298,6 +1346,7 @@ sub tables_hashref {
         'amount',             @money_type,                  '', '',
         'currency',                'char', 'NULL',       3, '', '',
         'taxable_billpkgnum',       'int', 'NULL',      '', '', '',
+        'billpkgtaxlocationnum_import', 'int', 'NULL',  '', '', '',
       ],
       'primary_key'  => 'billpkgtaxlocationnum',
       'unique'       => [],
@@ -1360,7 +1409,9 @@ sub tables_hashref {
         'commission_agentnum', 'int', 'NULL', '', '', '', #
         'commission_salesnum', 'int', 'NULL', '', '', '', #
         'commission_pkgnum',   'int', 'NULL', '', '', '', #
-        'credbatch',    'varchar', 'NULL', $char_d, '', '',
+        'commission_invnum',   'int', 'NULL', '', '', '',
+        'credbatch',       'varchar', 'NULL', $char_d, '', '',
+        'crednum_import',      'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'crednum',
       'unique'       => [],
@@ -1395,6 +1446,10 @@ sub tables_hashref {
                             table      => 'cust_pkg',
                             references => [ 'pkgnum' ],
                           },
+                          { columns    => [ 'commission_invnum' ],
+                            table      => 'cust_bill',
+                            references => [ 'invnum' ],
+                          },
                         ],
     },
 
@@ -1416,11 +1471,13 @@ sub tables_hashref {
         'commission_agentnum', 'int', 'NULL', '', '', '',
         'commission_salesnum', 'int', 'NULL', '', '', '',
         'commission_pkgnum',   'int', 'NULL', '', '', '',
+        'commission_invnum',   'int', 'NULL', '', '', '',
         #void fields
         'void_date',  @date_type,                  '', '', 
         'void_reason', 'varchar', 'NULL', $char_d, '', '', 
-        'void_reasonnum', 'int', 'NULL', '', '', '', 
+        'void_reasonnum',  'int', 'NULL', '', '', '', 
         'void_usernum',    'int', 'NULL',      '', '', '',
+        'crednum_import',  'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'crednum',
       'unique'       => [],
@@ -1455,6 +1512,10 @@ sub tables_hashref {
                             table      => 'cust_pkg',
                             references => [ 'pkgnum' ],
                           },
+                          { columns    => [ 'commission_invnum' ],
+                            table      => 'cust_bill',
+                            references => [ 'invnum' ],
+                          },
                           { columns    => [ 'void_reasonnum' ],
                             table      => 'reason',
                             references => [ 'reasonnum' ],
@@ -1475,6 +1536,7 @@ sub tables_hashref {
         '_date',    @date_type, '', '', 
         'amount',   @money_type, '', '', 
         'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
+        'creditbillnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'creditbillnum',
       'unique'       => [],
@@ -1503,6 +1565,7 @@ sub tables_hashref {
         'setuprecur',      'varchar', '', $char_d, '', '',
         'sdate',   @date_type, '', '', 
         'edate',   @date_type, '', '', 
+        'creditbillpkgnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'creditbillpkgnum',
       'unique'       => [],
@@ -1608,6 +1671,8 @@ sub tables_hashref {
         'ship_mobile',   'varchar', 'NULL', 12, '', '', 
         'currency',         'char', 'NULL',  3, '', '',
 
+        'is_tokenized', 'char', 'NULL', '1', '', '',
+
         'geocode',  'varchar', 'NULL', 20,  '', '',
         'censustract', 'varchar', 'NULL', 20,  '', '', # 7 to save space?
         'censusyear', 'char', 'NULL', 4, '', '',
@@ -1629,6 +1694,7 @@ sub tables_hashref {
         'accountcode_cdr', 'char', 'NULL', 1, '', '',
         'billday',   'int', 'NULL', '', '', '',
         'prorate_day',   'int', 'NULL', '', '', '',
+        'force_prorate_day', 'char', 'NULL', 1, '', '',
         'edit_subject', 'char', 'NULL', 1, '', '',
         'locale', 'varchar', 'NULL', 16, '', '', 
         'calling_list_exempt', 'char', 'NULL', 1, '', '',
@@ -1642,6 +1708,7 @@ sub tables_hashref {
         'invoice_attn', 'varchar', 'NULL', $char_d, '', '',
         'invoice_ship_address', 'char', 'NULL', 1, '', '',
         'postal_invoice', 'char', 'NULL', 1, '', '',
+        'paymentreceipt_noemail', 'char', 'NULL', 1, '', '',
       ],
       'primary_key'  => 'custnum',
       'unique'       => [ [ 'agentnum', 'agent_custid' ] ],
@@ -1653,6 +1720,7 @@ sub tables_hashref {
                           [ 'archived' ],
                           [ 'ship_locationnum' ],
                           [ 'bill_locationnum' ],
+                          [ 'is_tokenized' ],
                         ],
       'foreign_keys' => [
                           { columns    => [ 'agentnum' ],
@@ -1692,7 +1760,7 @@ sub tables_hashref {
         'weight',          'int', 'NULL',        '', '', '', 
         'payby',          'char',     '',         4, '', '', 
         'payinfo',     'varchar', 'NULL',       512, '', '', 
-        'cardtype',    'varchar', 'NULL',   $char_d, '', '',
+        'paycardtype', 'varchar', 'NULL',   $char_d, '', '',
         'paycvv',      'varchar', 'NULL',       512, '', '', 
         'paymask',     'varchar', 'NULL',   $char_d, '', '', 
         #'paydate',   @date_type, '', '', 
@@ -1705,10 +1773,11 @@ sub tables_hashref {
         'paytype',     'varchar', 'NULL',   $char_d, '', '', 
         'payip',       'varchar', 'NULL',        15, '', '', 
         'locationnum',     'int', 'NULL',        '', '', '',
+        'is_tokenized',   'char', 'NULL',         1, '', '', 
       ],
       'primary_key'  => 'custpaybynum',
       'unique'       => [],
-      'index'        => [ [ 'custnum' ] ],
+      'index'        => [ [ 'custnum' ], [ 'is_tokenized' ] ],
       'foreign_keys' => [
                           { columns    => [ 'custnum' ],
                             table      => 'cust_main',
@@ -1724,6 +1793,7 @@ sub tables_hashref {
         'classnum',    'serial',   '',      '', '', '', 
         'classname',   'varchar',  '', $char_d, '', '', 
         'disabled',    'char', 'NULL',       1, '', '', 
+        'classnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'classnum',
       'unique' => [],
@@ -1738,7 +1808,8 @@ sub tables_hashref {
         'classnum',              'int', 'NULL',  '', '', '',
         'comment',           'varchar', 'NULL', 255, '', '',
         'selfservice_access',   'char', 'NULL',   1, '', '',
-        'invoice_dest',         'char', 'NULL',       1, '', '',
+        'invoice_dest',         'char', 'NULL',   1, '', '', # Y or NULL
+        'message_dest',         'char', 'NULL',   1, '', '', # Y or NULL
       ],
       'primary_key'  => 'custcontactnum',
       'unique'       => [ [ 'custnum', 'contactnum' ], ],
@@ -1798,6 +1869,7 @@ sub tables_hashref {
         '_password_encoding', 'varchar', 'NULL', $char_d, '', '',
         'disabled',              'char', 'NULL',       1, '', '', 
         'invoice_dest',          'char', 'NULL',       1, '', '',
+        'contactnum_import',      'int', 'NULL',      '', '', '',
       ],
       'primary_key'  => 'contactnum',
       'unique'       => [],
@@ -1829,6 +1901,7 @@ sub tables_hashref {
         'phonenum',       'varchar',     '', 14, '', '', 
         'extension',      'varchar', 'NULL',  7, '', '',
         #?#'comment',        'varchar',     '', $char_d, '', '', 
+        'contactphonenum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'contactphonenum',
       'unique'       => [],
@@ -1859,6 +1932,7 @@ sub tables_hashref {
         'contactemailnum', 'serial', '',      '', '', '',
         'contactnum',         'int', '',      '', '', '',
         'emailaddress',   'varchar', '', $char_d, '', '',
+        'contactemailnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'contactemailnum',
       #'unique'       => [ [ 'contactnum', 'emailaddress' ], ],
@@ -1901,14 +1975,15 @@ sub tables_hashref {
     'quotation' => {
       'columns' => [
         #regular fields
-        'quotationnum',   'serial',     '', '', '', '', 
-        'prospectnum',       'int', 'NULL', '', '', '',
-        'custnum',           'int', 'NULL', '', '', '',
-        '_date',        @date_type,             '', '', 
-        'disabled',         'char', 'NULL',  1, '', '', 
-        'usernum',           'int', 'NULL', '', '', '',
-        'close_date',   @date_type,             '', '', 
-        'confidence',        'int', 'NULL', '', '', '',
+        'quotationnum',           'serial',     '', '',   '', '', 
+        'prospectnum',               'int', 'NULL', '',   '', '',
+        'custnum',                   'int', 'NULL', '',   '', '',
+        '_date',                @date_type,               '', '', 
+        'disabled',                 'char', 'NULL',  1,   '', '', 
+        'usernum',                   'int', 'NULL', '',   '', '',
+        'close_date',           @date_type,               '', '', 
+        'confidence',                'int', 'NULL', '',   '', '',
+        'quotation_description', 'varchar', 'NULL', '50', '', '',
         #'total',      @money_type,       '', '', 
         #'quotation_term', 'varchar', 'NULL', $char_d, '', '',
       ],
@@ -2038,11 +2113,15 @@ sub tables_hashref {
         'district',        'varchar', 'NULL',      20, '', '',
         'censustract',     'varchar', 'NULL',      20, '', '',
         'censusyear',         'char', 'NULL',       4, '', '',
+
+        #used only in... DSL qualification?  .CA DSL qualification?
         'location_type',   'varchar', 'NULL',      20, '', '',
         'location_number', 'varchar', 'NULL',      20, '', '',
         'location_kind',      'char', 'NULL',       1, '', '',
+
         'incorporated',       'char', 'NULL',       1, '', '',
         'disabled',           'char', 'NULL',       1, '', '', 
+        'locationnum_import',  'int', 'NULL',      '', '', '',
       ],
       'primary_key'  => 'locationnum',
       'unique'       => [],
@@ -2065,6 +2144,7 @@ sub tables_hashref {
         'destnum',  'serial',  '',     '', '', '', 
         'custnum',  'int',  '',     '', '', '', 
         'dest',     'varchar', '',  $char_d, '', '', 
+        'destnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'destnum',
       'unique'       => [],
@@ -2106,6 +2186,7 @@ sub tables_hashref {
         'usernum',      'int', 'NULL', '', '', '',
         'comments',    'text', 'NULL', '', '', '', 
         'sticky',       'int',     '', '',  0, '',
+        'notenum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'notenum',
       'unique'       => [],
@@ -2139,7 +2220,8 @@ sub tables_hashref {
         'categorynum',   'serial',  '', '', '', '', 
         'categoryname',  'varchar', '', $char_d, '', '', 
         'weight',         'int', 'NULL',  '', '', '',
-        'disabled',      'char', 'NULL',   1, '', '', 
+        'disabled',      'char', 'NULL',   1, '', '',
+        'categorynum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'categorynum',
       'unique' => [],
@@ -2257,6 +2339,7 @@ sub tables_hashref {
         'setuptax',    'char', 'NULL',       1, '', '', # Y = setup tax exempt
         'recurtax',    'char', 'NULL',       1, '', '', # Y = recur tax exempt
         'source',   'varchar', 'NULL', $char_d, '', '',
+        'charge_prediscount', 'char', 'NULL', 1, '', '', # Y = charge this tax pre discount
       ],
       'primary_key' => 'taxnum',
       'unique' => [],
@@ -2314,6 +2397,7 @@ sub tables_hashref {
         'taxratelocationnum', 'serial',  '',     '', '', '', 
         'data_vendor',        'varchar', 'NULL', $char_d, '', '',
         'geocode',            'varchar', '',     20,      '', '', 
+        'district',           'varchar', 'NULL', $char_d, '', '',
         'city',               'varchar', 'NULL', $char_d, '', '',
         'county',             'varchar', 'NULL', $char_d, '', '',
         'state',              'char',    'NULL',       2, '', '', 
@@ -2375,7 +2459,7 @@ sub tables_hashref {
     'cust_pay_pending' => {
       'columns' => [
         'paypendingnum',      'serial',     '',      '', '', '',
-        'custnum',               'int',     '',      '', '', '', 
+        'custnum',               'int', 'NULL',      '', '', '', 
         'paid',            @money_type,                  '', '', 
         'currency',             'char', 'NULL',       3, '', '',
         '_date',            @date_type,                  '', '', 
@@ -2399,11 +2483,13 @@ sub tables_hashref {
         'manual',       'char',    'NULL',   1, '', '',
         'discount_term','int',     'NULL',  '', '', '',
         'failure_status','varchar','NULL',  16, '', '',
+        'is_tokenized',   'char', 'NULL',    1, '', '', 
       ],
       'primary_key'  => 'paypendingnum',
       'unique'       => [ [ 'payunique' ] ],
       'index'        => [ [ 'custnum' ], [ 'status' ],
                           ['paynum'], ['void_paynum'], ['jobnum'], ['invnum'],
+                          [ 'is_tokenized' ],
                         ],
       'foreign_keys' => [
                           { columns    => [ 'custnum' ],
@@ -2442,6 +2528,7 @@ sub tables_hashref {
         'usernum',         'int', 'NULL',      '', '', '',
         'payby',          'char',     '',       4, '', '',
         'payinfo',     'varchar', 'NULL',     512, '', '',
+        'paycardtype', 'varchar', 'NULL',   $char_d, '', '',
         'paymask',     'varchar', 'NULL', $char_d, '', '', 
         'paydate',     'varchar', 'NULL',      10, '', '', 
         'paybatch',    'varchar', 'NULL', $char_d, '', '',#for auditing purposes
@@ -2449,7 +2536,8 @@ sub tables_hashref {
         'closed',         'char', 'NULL',       1, '', '', 
         'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
         'no_auto_apply',  'char', 'NULL',       1, '', '', 
-
+        'is_tokenized',   'char', 'NULL',       1, '', '', 
+          
         # cash/check deposit info fields
         'bank',        'varchar', 'NULL', $char_d, '', '',
         'depositor',   'varchar', 'NULL', $char_d, '', '',
@@ -2462,12 +2550,13 @@ sub tables_hashref {
         'gatewaynum',      'int', 'NULL',      '', '', '', # payment_gateway FK
         'processor',   'varchar', 'NULL', $char_d, '', '', # module name
         'auth',        'varchar', 'NULL',      16, '', '', # CC auth number
-        'order_number','varchar', 'NULL', $char_d, '', '', # transaction number
+        'order_number','varchar', 'NULL', 256, '', '', # transaction number
+        'paynum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'paynum',
       #i guess not now, with cust_pay_pending, if we actually make it here, we _do_ want to record it# 'unique' => [ [ 'payunique' ] ],
       'index'        => [ ['custnum'], ['paybatch'], ['payby'], ['_date'],
-                          ['usernum'],
+                          ['usernum'], ['is_tokenized'], 
                         ],
       'foreign_keys' => [
                           { columns    => [ 'custnum' ],
@@ -2499,11 +2588,13 @@ sub tables_hashref {
         'usernum',         'int', 'NULL',      '', '', '',
         'payby',          'char',     '',       4, '', '',
         'payinfo',     'varchar', 'NULL',     512, '', '',
-       'paymask',     'varchar', 'NULL', $char_d, '', '', 
+        'paycardtype', 'varchar', 'NULL',   $char_d, '', '',
+        'paymask',     'varchar', 'NULL', $char_d, '', '', 
         #'paydate' ?
         'paybatch',    'varchar', 'NULL', $char_d, '', '', #for auditing purposes.
         'closed',        'char',  'NULL',       1, '', '', 
         'pkgnum', 'int',   'NULL', '', '', '', #desired pkgnum for pkg-balances
+        'is_tokenized',   'char', 'NULL',       1, '', '', 
 
         # cash/check deposit info fields
         'bank',       'varchar', 'NULL', $char_d, '', '',
@@ -2516,17 +2607,21 @@ sub tables_hashref {
         'gatewaynum',      'int', 'NULL',      '', '', '', # payment_gateway FK
         'processor',   'varchar', 'NULL', $char_d, '', '', # module name
         'auth',        'varchar', 'NULL',      16, '', '', # CC auth number
-        'order_number','varchar', 'NULL', $char_d, '', '', # transaction number
+        'order_number','varchar', 'NULL', 256, '', '', # transaction number
 
         #void fields
         'void_date',  @date_type,                  '', '', 
         'reason',      'varchar', 'NULL', $char_d, '', '', 
         'reasonnum',       'int', 'NULL',      '', '', '', 
         'void_usernum',    'int', 'NULL',      '', '', '',
+
+        'paynum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'paynum',
       'unique'       => [],
-      'index'        => [ ['custnum'], ['usernum'], ['void_usernum'] ],
+      'index'        => [ ['custnum'], ['usernum'], ['void_usernum'],
+                          ['is_tokenized'],
+                        ],
       'foreign_keys' => [
                           { columns    => [ 'custnum' ],
                             table      => 'cust_main',
@@ -2561,6 +2656,7 @@ sub tables_hashref {
         'amount',  @money_type, '', '', 
         '_date',   @date_type, '', '', 
         'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
+        'billpaynum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'billpaynum',
       'unique'       => [],
@@ -2610,6 +2706,7 @@ sub tables_hashref {
         'setuprecur',      'varchar', '', $char_d, '', '',
        'sdate',   @date_type, '', '', 
         'edate',   @date_type, '', '', 
+        'billpaypkgnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'billpaypkgnum',
       'unique'       => [],
@@ -2640,6 +2737,7 @@ sub tables_hashref {
         'upload',         @date_type,     '', '', 
         'title',   'varchar', 'NULL',255, '', '',
         'processor_id',   'varchar', 'NULL',255, '', '',
+        'type',      'char',  '',  6, 'DEBIT', '', # DEBIT/CREDIT
       ],
       'primary_key'  => 'batchnum',
       'unique'       => [],
@@ -2667,6 +2765,7 @@ sub tables_hashref {
         'country',          'char',     '',       2, '', '', 
         'payby',            'char',     '',       4, '', '',
         'payinfo',       'varchar', 'NULL',     512, '', '', 
+        #'paymask',       'varchar', 'NULL', $char_d, '', '',
         #'exp',          @date_type,                  '', '',
         'exp',           'varchar', 'NULL',      11, '', '', 
         'payname',       'varchar', 'NULL', $char_d, '', '', 
@@ -2676,10 +2775,11 @@ sub tables_hashref {
         'status',        'varchar', 'NULL', $char_d, '', '', 
         'failure_status','varchar', 'NULL',      16, '', '',
         'error_message', 'varchar', 'NULL', $char_d, '', '',
+        'paycode',       'varchar', 'NULL', $char_d, '', '',
       ],
       'primary_key'  => 'paybatchnum',
       'unique'       => [],
-      'index'        => [ ['batchnum'], ['invnum'], ['custnum'] ],
+      'index'        => [ ['batchnum'], ['invnum'], ['custnum'],['status'] ],
       'foreign_keys' => [
                           { columns    => [ 'batchnum' ],
                             table      => 'pay_batch',
@@ -2820,6 +2920,7 @@ sub tables_hashref {
         'pkgnum', 'int', '', '', '', '', 
         'optionname', 'varchar', '', $char_d, '', '', 
         'optionvalue', 'text', 'NULL', '', '', '', 
+        'optionnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'optionnum',
       'unique'       => [],
@@ -2838,6 +2939,7 @@ sub tables_hashref {
         'detail',      'varchar', '', 2*$char_d, '', '', 
         'detailtype',     'char', '',         1, '', '', #"I"nvoice or "C"omment
         'weight',          'int', '',        '', '', '',
+        'pkgdetailnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'pkgdetailnum',
       'unique'       => [],
@@ -2858,6 +2960,7 @@ sub tables_hashref {
         'otaker',   'varchar', 'NULL', 32, '', '', 
         'usernum',   'int', 'NULL', '', '', '',
         'date',     @date_type, '', '', 
+        'num_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'num',
       'unique'       => [],
@@ -2909,6 +3012,7 @@ sub tables_hashref {
         'usernum',           'int', 'NULL',    '', '', '',
         'disabled',         'char', 'NULL',     1, '', '', 
         'setuprecur',       'char', 'NULL',     5, '', '',
+        'pkgdiscountnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'pkgdiscountnum',
       'unique'       => [],
@@ -2973,6 +3077,7 @@ sub tables_hashref {
         'pkgdiscountnum',        'int',        '', '', '', '', 
         'amount',          @money_type,                '', '', 
         'months',            'decimal', 'NULL', '7,4', '', '',
+        'billpkgdiscountnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'billpkgdiscountnum',
       'unique'       => [],
@@ -2994,6 +3099,7 @@ sub tables_hashref {
         'pkgdiscountnum',        'int',        '', '', '', '', 
         'amount',          @money_type,                '', '', 
         'months',            'decimal', 'NULL', '7,4', '', '',
+        'billpkgdiscountnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'billpkgdiscountnum',
       'unique'       => [],
@@ -3020,6 +3126,7 @@ sub tables_hashref {
         'disabled',      'char', 'NULL',       1, '', '', 
         'setup',         'char', 'NULL',       1, '', '', 
         #'linked',        'char', 'NULL',       1, '', '',
+        'discountnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'discountnum',
       'unique'       => [],
@@ -3037,6 +3144,7 @@ sub tables_hashref {
         'classname',   'varchar',  '', $char_d, '', '', 
         #'categorynum', 'int',  'NULL',      '', '', '', 
         'disabled',    'char', 'NULL',       1, '', '', 
+        'classnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'classnum',
       'unique' => [],
@@ -3058,7 +3166,8 @@ sub tables_hashref {
                                                      # be index into payby
                                                      # table eventually
         'payinfo',      'varchar',   'NULL', 512, '', '', #see cust_main above
-       'paymask', 'varchar', 'NULL', $char_d, '', '', 
+        'paycardtype',  'varchar', 'NULL',   $char_d, '', '',
+        'paymask', 'varchar', 'NULL', $char_d, '', '', 
         'paybatch',     'varchar',   'NULL', $char_d, '', '', 
         'closed',    'char', 'NULL', 1, '', '', 
         'source_paynum', 'int', 'NULL', '', '', '', # link to cust_payby, to prevent unapply of gateway-generated refunds
@@ -3067,10 +3176,12 @@ sub tables_hashref {
         'processor',  'varchar', 'NULL', $char_d, '', '', # module name
         'auth',       'varchar','NULL',16, '', '', # CC auth number
         'order_number', 'varchar','NULL',$char_d, '', '', # transaction number
+        'is_tokenized',   'char', 'NULL',    1, '', '', 
+        'refundnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'refundnum',
       'unique'       => [],
-      'index'        => [ ['custnum'], ['_date'], [ 'usernum' ], ],
+      'index'        => [ ['custnum'], ['_date'], [ 'usernum' ], ['is_tokenized'] ],
       'foreign_keys' => [
                           { columns    => [ 'custnum' ],
                             table      => 'cust_main',
@@ -3098,6 +3209,7 @@ sub tables_hashref {
         'refundnum',  'int',     '',   '', '', '', 
         'amount',  @money_type, '', '', 
         '_date',   @date_type, '', '', 
+        'creditrefundnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'creditrefundnum',
       'unique'       => [],
@@ -3120,6 +3232,7 @@ sub tables_hashref {
         'svcpart',        'int',     '', '', '', '', 
         'agent_svcid',    'int', 'NULL', '', '', '',
         'overlimit',           @date_type,   '', '', 
+        'svcnum_import',  'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'svcnum',
       'unique'       => [],
@@ -3197,7 +3310,7 @@ sub tables_hashref {
       'columns' => [
         'pkgpart',       'serial',    '',   '', '', '', 
         'pkgpartbatch',  'varchar', 'NULL', $char_d, '', '',
-        'pkg',           'varchar',   '',   $char_d, '', '', 
+        'pkg',           'varchar',   '',   104, '', '', 
         'comment',       'varchar', 'NULL', 2*$char_d, '', '', 
         'promo_code',    'varchar', 'NULL', $char_d, '', '', 
         'freq',          'varchar',   '',   $char_d, '', '', #billing frequency
@@ -3229,6 +3342,7 @@ sub tables_hashref {
         'adjourn_months', 'int',    'NULL', '', '', '',
         'contract_end_months','int','NULL', '', '', '',
         'change_to_pkgpart', 'int', 'NULL', '', '', '',
+        'units_taxproductnum','int','NULL', '', '', '',
       ],
       'primary_key'  => 'pkgpart',
       'unique'       => [],
@@ -3246,6 +3360,10 @@ sub tables_hashref {
                           { columns    => [ 'taxproductnum' ],
                             table      => 'part_pkg_taxproduct',
                           },
+                          { columns    => [ 'units_taxproductnum' ],
+                            table      => 'part_pkg_taxproduct',
+                            references => [ 'taxproductnum' ],
+                          },
                           { columns    => [ 'agentnum' ],
                             table      => 'agent',
                           },
@@ -3571,6 +3689,7 @@ sub tables_hashref {
         'hidden',        'char', 'NULL', 1, '', '',
         'bulk_skip',     'char', 'NULL', 1, '', '',
         'provision_hold', 'char', 'NULL', 1, '', '',
+        'pkgsvcnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'pkgsvcnum',
       'unique'       => [ ['pkgpart', 'svcpart'] ],
@@ -3590,10 +3709,12 @@ sub tables_hashref {
         'refnum',   'serial',     '',        '', '', '', 
         'referral', 'varchar',    '',   $char_d, '', '', 
         'disabled', 'char',   'NULL',         1, '', '', 
-        'agentnum', 'int',    'NULL',        '', '', '', 
+        'agentnum', 'int',    'NULL',        '', '', '',
+        'title',   'varchar', 'NULL',   $char_d, '', '', 
+        'refnum_import', 'int', 'NULL',      '', '', '',
       ],
       'primary_key'  => 'refnum',
-      'unique'       => [],
+      'unique'       => [ ['agentnum', 'title'] ],
       'index'        => [ ['disabled'], ['agentnum'], ],
       'foreign_keys' => [
                           { columns    => [ 'agentnum' ],
@@ -3613,6 +3734,7 @@ sub tables_hashref {
         'classnum',               'int', 'NULL',        '', '', '',
         'restrict_edit_password','char', 'NULL',         1, '', '',
         'has_router',            'char', 'NULL',         1, '', '',
+        'svcpart_import',         'int', 'NULL',        '', '', '',
 ],
       'primary_key'  => 'svcpart',
       'unique'       => [],
@@ -3633,6 +3755,7 @@ sub tables_hashref {
         'columnvalue', 'varchar', 'NULL',     512, '', '', 
         'columnflag',  'char',    'NULL',       1, '', '', 
         'required',    'char',    'NULL',       1, '', '', 
+        'columnnum_import', 'int', 'NULL',     '', '', '',
       ],
       'primary_key'  => 'columnnum',
       'unique'       => [ [ 'svcpart', 'columnname' ] ],
@@ -3648,7 +3771,8 @@ sub tables_hashref {
       'columns' => [
         'classnum',    'serial',   '',      '', '', '', 
         'classname',   'varchar',  '', $char_d, '', '', 
-        'disabled',    'char', 'NULL',       1, '', '', 
+        'disabled',    'char', 'NULL',       1, '', '',
+        'classnum_import', 'int', 'NULL',   '', '', '',
       ],
       'primary_key' => 'classnum',
       'unique' => [],
@@ -3680,6 +3804,24 @@ sub tables_hashref {
                         ],
     },
 
+    'part_svc_msgcat' => {
+      'columns' => [
+        'svcpartmsgnum',  'serial',     '',        '', '', '',
+        'svcpart',           'int',     '',        '', '', '',
+        'locale',        'varchar',     '',        16, '', '',
+        'svc',           'varchar',     '',   $char_d, '', '',
+      ],
+      'primary_key'  => 'svcpartmsgnum',
+      'unique'       => [ [ 'svcpart', 'locale' ] ],
+      'index'        => [],
+      'foreign_keys' => [
+                          { columns    => [ 'svcpart' ],
+                            table      => 'part_svc',
+                          },
+                        ],
+    },
+
+
     #(this should be renamed to part_pop)
     'svc_acct_pop' => {
       'columns' => [
@@ -3766,6 +3908,7 @@ sub tables_hashref {
     'svc_acct' => {
       'columns' => [
         'svcnum',    'int',    '',   '', '', '', 
+        'svcnum_import',  'int', 'NULL', '', '', '',
         'username',  'varchar',   '',   $username_len, '', '',
         '_password', 'varchar',   'NULL',  512, '', '',
         '_password_encoding', 'varchar', 'NULL', $char_d, '', '',
@@ -3868,9 +4011,12 @@ sub tables_hashref {
       'unique'       => [],
       'index'        => [ ['svcnum', 'transaction_id'] ],
       'foreign_keys' => [
-                          { columns    => [ 'svcnum' ],
-                            table      => 'svc_acct', #'cust_svc',
-                          },
+                          # problems w/deleted services, and as per below, this
+                          # is our internal hack, not a customer-facing feature
+                          #{ columns    => [ 'svcnum' ],
+                          #  table      => 'svc_acct', #'cust_svc',
+                          #},
+
                           # 1. RT tables aren't part of our data structure, so
                           #     we can't make sure Queue is created already
                           # 2. This is our internal hack for time tracking, not
@@ -3895,6 +4041,7 @@ sub tables_hashref {
     'svc_domain' => {
       'columns' => [
         'svcnum',           'int',    '',        '', '', '',
+        'svcnum_import',    'int', 'NULL',       '', '', '',
         'domain',       'varchar',    '',   $char_d, '', '',
        'suffix',       'varchar', 'NULL',  $char_d, '', '',
         'catchall',         'int', 'NULL',       '', '', '',
@@ -4068,7 +4215,7 @@ sub tables_hashref {
         'note',     'text',    'NULL',      '', '', '',
       ],
       'primary_key'  => 'svcnum',
-      'unique'       => [],
+      'unique'       => [ ['typenum', 'serial'], ['ip_addr'], ['hw_addr'] ],
       'index'        => [],
       'foreign_keys' => [
                           { columns    => [ 'svcnum' ],
@@ -4099,6 +4246,7 @@ sub tables_hashref {
         'classnum',    'int',     '',      '', '', '',
         'model',   'varchar',     '', $char_d, '', '',
         'revision','varchar', 'NULL', $char_d, '', '',
+        'title',   'varchar', 'NULL', $char_d, '', '', # external id
       ],
       'primary_key'  => 'typenum',
       'unique'       => [ [ 'classnum', 'model', 'revision' ] ],
@@ -4435,10 +4583,11 @@ sub tables_hashref {
 
     'export_svc' => {
       'columns' => [
-        'exportsvcnum' => 'serial', '', '', '', '', 
-        'exportnum'    => 'int', '', '', '', '', 
-        'svcpart'      => 'int', '', '', '', '', 
-        'role'         => 'varchar', 'NULL', 16, '', '',
+        'exportsvcnum', 'serial', '', '', '', '', 
+        'exportnum',       'int', '', '', '', '', 
+        'svcpart',         'int', '', '', '', '', 
+        'role',        'varchar', 'NULL', 16, '', '',
+        'exportsvcnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'exportsvcnum',
       'unique'       => [ [ 'exportnum', 'svcpart' ] ],
@@ -4502,6 +4651,7 @@ sub tables_hashref {
         'default_machine','int', 'NULL',      '', '', '',
         'no_suspend',    'char', 'NULL',       1, '', '',
         # could also have 'no_insert', 'no_replace', etc.
+        'exportnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'exportnum',
       'unique'       => [],
@@ -4520,6 +4670,7 @@ sub tables_hashref {
         'exportnum', 'int', '', '', '', '', 
         'optionname', 'varchar', '', $char_d, '', '', 
         'optionvalue', 'text', 'NULL', '', '', '', 
+        'optionnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'optionnum',
       'unique'       => [],
@@ -4537,6 +4688,7 @@ sub tables_hashref {
         'svcnum',       'int', '', '', '', '', 
         'groupname',    'varchar', 'NULL', $char_d, '', '', #deprecated
         'groupnum',     'int', 'NULL', '', '', '', 
+        'usergroupnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'usergroupnum',
       'unique'       => [],
@@ -4559,6 +4711,7 @@ sub tables_hashref {
         'priority', 'int', '', '', '1', '',
         'speed_up', 'int', 'NULL', '', '', '',
         'speed_down', 'int', 'NULL', '', '', '',
+        'groupnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'groupnum',
       'unique'      => [ ['groupname'] ],
@@ -4768,6 +4921,7 @@ sub tables_hashref {
     'svc_broadband' => {
       'columns' => [
         'svcnum',                  'int',     '',        '', '', '', 
+        'svcnum_import',    'int', 'NULL',       '', '', '',
         'description',         'varchar', 'NULL',   $char_d, '', '', 
         'routernum',               'int', 'NULL',        '', '', '',
         'blocknum',                'int', 'NULL',        '', '', '', 
@@ -4790,6 +4944,9 @@ sub tables_hashref {
         'suid',                    'int', 'NULL',        '', '', '',
         'shared_svcnum',           'int', 'NULL',        '', '', '',
         'serviceid',           'varchar', 'NULL',        64, '', '',#srvexport/reportfields
+        'speed_test_up',           'int', 'NULL',        '', '', '',
+        'speed_test_down',         'int', 'NULL',        '', '', '',
+        'speed_test_latency',      'int', 'NULL',        '', '', '',
       ],
       'primary_key'  => 'svcnum',
       'unique'       => [ [ 'ip_addr' ], [ 'mac_addr' ] ],
@@ -4827,6 +4984,8 @@ sub tables_hashref {
         'height',     'decimal', 'NULL',      '', '', '', 
         'veg_height', 'decimal', 'NULL',      '', '', '', 
         'color',      'varchar', 'NULL',       6, '', '',
+        'up_rate_limit',        'int', 'NULL',      '', '', '',
+        'down_rate_limit',      'int', 'NULL',      '', '', '',
       ],
       'primary_key' => 'towernum',
       'unique'      => [ [ 'towername' ] ], # , 'agentnum' ] ],
@@ -4843,9 +5002,24 @@ sub tables_hashref {
         'freq_mhz',         'int', 'NULL',      '', '', '',
         'direction',        'int', 'NULL',      '', '', '',
         'width',            'int', 'NULL',      '', '', '',
-        #downtilt etc? rfpath has profile files for devices/antennas you upload?
         'sector_range', 'decimal', 'NULL',      '', '', '',  #?
-      ],
+        'downtilt',     'decimal', 'NULL',      '', '', '',
+        'v_width',          'int', 'NULL',      '', '', '',
+        'power',        'decimal', 'NULL',      '', '', '',
+        'line_loss',    'decimal', 'NULL',      '', '', '',
+        'antenna_gain', 'decimal', 'NULL',     '', '', '',
+        'hardware_typenum', 'int', 'NULL',     '', '', '',
+        'db_high',          'int', 'NULL',     '', '', '',
+        'db_low',           'int', 'NULL',     '', '', '',
+        'image',           'blob', 'NULL',     '', '', '',
+        'west',         'decimal', 'NULL', '10,7', '', '',
+        'east',         'decimal', 'NULL', '10,7', '', '',
+        'south',        'decimal', 'NULL', '10,7', '', '',
+        'north',        'decimal', 'NULL', '10,7', '', '',
+        'title',        'varchar', 'NULL', $char_d,'', '',
+        'up_rate_limit',          'int', 'NULL',      '', '', '',
+        'down_rate_limit',        'int', 'NULL',      '', '', '',
+     ],
       'primary_key'  => 'sectornum',
       'unique'       => [ [ 'towernum', 'sectorname' ], [ 'ip_addr' ], ],
       'index'        => [ [ 'towernum' ] ],
@@ -4853,6 +5027,27 @@ sub tables_hashref {
                           { columns    => [ 'towernum' ],
                             table      => 'tower',
                           },
+                          { columns    => [ 'hardware_typenum' ],
+                            table      => 'hardware_type',
+                            references => [ 'typenum' ],
+                          },
+                        ],
+    },
+
+    'sector_coverage' => {
+      'columns' => [
+        'coveragenum', 'serial', '', '', '', '',
+        'sectornum',     'int', '', '', '', '',
+        'db_loss',       'int', '', '', '', '',
+        'geometry',     'text', 'NULL', '', '', '',
+      ],
+      'primary_key' => 'coveragenum',
+      'unique' => [],
+      'index'  => [],
+      'foreign_keys' => [
+                          { columns => [ 'sectornum' ],
+                            table   => 'tower_sector'
+                          },
                         ],
     },
 
@@ -4934,6 +5129,7 @@ sub tables_hashref {
         'refundnum',  'int', '', '', '', '', 
         '_date',    @date_type, '', '', 
         'amount',   @money_type, '', '', 
+        'payrefundnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'payrefundnum',
       'unique'       => [],
@@ -4954,6 +5150,7 @@ sub tables_hashref {
         'pkgpart', 'int', '', '', '', '', 
         'optionname', 'varchar', '', $char_d, '', '', 
         'optionvalue', 'text', 'NULL', '', '', '', 
+        'optionnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'optionnum',
       'unique'       => [],
@@ -5041,6 +5238,7 @@ sub tables_hashref {
         'fccoptionname', 'varchar', '', $char_d, '', '',
         'pkgpart',       'int', '', '', '', '',
         'optionvalue',   'varchar', 'NULL', $char_d, '', '',
+        'num_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'num',
       'unique'      => [ [ 'fccoptionname', 'pkgpart' ] ],
@@ -5049,13 +5247,14 @@ sub tables_hashref {
 
     'rate' => {
       'columns' => [
-        'ratenum',          'serial',     '', '', '', '', 
-        'ratename',        'varchar', '',$char_d, '', '', 
-        'agentnum',            'int', 'NULL', '', '', '',
-        'default_detailnum',   'int', 'NULL', '', '', '',
+        'ratenum',          'serial',     '',      '', '', '', 
+        'ratename',        'varchar',     '', $char_d, '', '', 
+        'agentnum',            'int', 'NULL',      '', '', '',
+        'default_detailnum',   'int', 'NULL',      '', '', '',
+        'agent_rateid',    'varchar', 'NULL', $char_d, '', '',
       ],
       'primary_key' => 'ratenum',
-      'unique'      => [],
+      'unique'      => [ ['agentnum','agent_rateid'], ],
       'index'       => [],
       'foreign_keys' => [
                           { columns    => [ 'agentnum' ],
@@ -5136,7 +5335,7 @@ sub tables_hashref {
         'ocn',         'char',    'NULL',       4, '', '', 
       ],
       'primary_key'  => 'prefixnum',
-      'unique'       => [],
+      'unique'       => [ [ 'countrycode', 'npa', 'nxx' ] ],
       'index'        => [ [ 'countrycode' ], [ 'npa' ], [ 'regionnum' ] ],
       'foreign_keys' => [
                           { columns    => [ 'regionnum' ],
@@ -5369,6 +5568,7 @@ sub tables_hashref {
         'ticketing_queueid',     'int', 'NULL',      '', '', '', 
         'condense',             'char', 'NULL',       1, '', '', 
         'disabled',             'char', 'NULL',       1, '', '', 
+        'categorunum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'categorynum',
       'unique' => [],
@@ -5382,6 +5582,7 @@ sub tables_hashref {
         'categorynum', 'int',  'NULL',      '', '', '', 
         'disabled',    'char', 'NULL',       1, '', '', 
         'fcc_ds0s',      'int',     'NULL', '', '', '', 
+        'classnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'classnum',
       'unique'       => [],
@@ -5504,6 +5705,10 @@ sub tables_hashref {
         'rated_ratename',         'varchar', 'NULL', $char_d, '', '', 
         'rated_cost',            'decimal', 'NULL',  '10,4', '', '',
 
+        # real endpoints of the call
+        'src_lrn',             'varchar', 'NULL',     '15', '', '',
+        'dst_lrn',             'varchar', 'NULL',     '15', '', '',
+
         'carrierid',               'bigint', 'NULL',      '', '', '',
 
         # service it was matched to
@@ -5512,6 +5717,9 @@ sub tables_hashref {
         #NULL, done (or something)
         'freesidestatus', 'varchar',   'NULL',     32,   '', '', 
 
+        #additional status info (i.e. reason for "skipped" freesidestatus)
+        'freesidestatustext', 'text',  'NULL',     '',   '', '',
+
         #NULL, done (or something)
         'freesiderewritestatus', 'varchar',   'NULL',     32,   '', '', 
 
@@ -5522,9 +5730,6 @@ sub tables_hashref {
         'sessionnum',       'int',    'NULL',      '', '', '',
         'subscriber',   'varchar',    'NULL', $char_d, '', '',
 
-        #old
-        'cdrbatch',     'varchar',    'NULL',     255, '', '',
-        #new
         'cdrbatchnum',      'int',    'NULL',      '', '', '',
 
         # FK to cust_bill_pkg_detail; having a value here absolutely means
@@ -5535,11 +5740,13 @@ sub tables_hashref {
       'unique' => [],
       'index' => [ [ 'calldate' ],
                    [ 'src' ], [ 'dst' ], [ 'dcontext' ], [ 'charged_party' ],
+                   [ 'startdate' ], [ 'duration' ],
+                   [ 'cdrtypenum' ], [ 'calltypenum' ],
                    [ 'lastapp' ],
                    ['accountcode'], ['uniqueid'], ['carrierid'], ['cdrid'],
                    [ 'sessionnum' ], [ 'subscriber' ],
                    [ 'freesidestatus' ], [ 'freesiderewritestatus' ],
-                   [ 'cdrbatch' ], [ 'cdrbatchnum' ],
+                   [ 'cdrbatchnum' ],
                    [ 'src_ip_addr' ], [ 'dst_ip_addr' ], [ 'dst_term' ],
                    [ 'detailnum' ],
                  ],
@@ -5566,6 +5773,7 @@ sub tables_hashref {
         'rated_price',  'decimal', 'NULL',  '10,4', '', '',
         'rated_seconds',    'int', 'NULL',      '', '', '',
         'rated_minutes', 'double precision', 'NULL',   '', '', '',
+        'rated_granularity','int', 'NULL',      '', '', '',
         'status',       'varchar', 'NULL',      32, '', '',
         'svcnum',           'int', 'NULL',      '', '', '',
       ],
@@ -5694,6 +5902,25 @@ sub tables_hashref {
                         ],
     },
 
+    'access_user_session_log' => {
+      'columns' => [
+        'sessionlognum', 'serial', '',      '', '', '',
+        'usernum',          'int', '',      '', '', '',
+        'start_date',  @date_type,              '', '',
+        'last_date',   @date_type,              '', '',
+        'logout_date', @date_type,              '', '',
+        'logout_type',  'varchar', '', $char_d, '', '',
+      ],
+      'primary_key' => 'sessionlognum',
+      'unique'       => [],
+      'index'        => [],
+      'foreign_keys' => [
+                          { columns    => [ 'usernum' ],
+                            table      => 'access_user',
+                          },
+                        ],
+    },
+
     'access_user' => {
       'columns' => [
         'usernum',             'serial',     '',      '', '', '',
@@ -5741,8 +5968,9 @@ sub tables_hashref {
 
     'access_group' => {
       'columns' => [
-        'groupnum',   'serial', '',      '', '', '',
-        'groupname', 'varchar', '', $char_d, '', '',
+        'groupnum',        'serial',     '',      '', '', '',
+        'groupname',      'varchar',     '', $char_d, '', '',
+        'session_timeout',    'int', 'NULL',      '', '', '',
       ],
       'primary_key' => 'groupnum',
       'unique' => [ [ 'groupname' ] ],
@@ -5806,6 +6034,7 @@ sub tables_hashref {
         'path',           'varchar',     '', 2*$char_d, '', '',
         '_date',                   @date_type,          '', '',
         'render_seconds',     'int', 'NULL',        '', '', '',
+        'pid',                'int', 'NULL',        '', '', '',
       ],
       'primary_key'  => 'lognum',
       'unique'       => [],
@@ -5893,6 +6122,9 @@ sub tables_hashref {
         'lnp_other_provider',         'varchar', 'NULL', $char_d, '', '',
         'lnp_other_provider_account', 'varchar', 'NULL', $char_d, '', '',
         'lnp_reject_reason',          'varchar', 'NULL', $char_d, '', '',
+        'lnp_portid',                 'varchar', 'NULL', $char_d, '', '',
+        'lnp_signature',                 'char', 'NULL',       1, '', '',
+        'lnp_bill',                      'char', 'NULL',       1, '', '',
         'sms_carrierid',                  'int', 'NULL',      '', '', '',
         'sms_account',                'varchar', 'NULL', $char_d, '', '',
         'max_simultaneous',               'int', 'NULL',      '', '', '',
@@ -6119,6 +6351,7 @@ sub tables_hashref {
         'typenum',   'serial',  '', '', '', '', 
         'class',     'char', '', 1, '', '', 
         'type',     'varchar', '', $char_d, '', '', 
+        'typenum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'typenum',
       'unique' => [],
@@ -6137,6 +6370,7 @@ sub tables_hashref {
         'feepart',        'int', 'NULL', '', '', '',
         'fee_on_unsuspend','char',  'NULL', 1, '', '',
         'fee_hold',      'char',    'NULL', 1, '', '',
+        'reasonnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'reasonnum',
       'unique'       => [],
@@ -6176,6 +6410,7 @@ sub tables_hashref {
         'pkgrefnum',     'serial', '', '', '', '',
         'pkgnum',        'int',    '', '', '', '',
         'refnum',        'int',    '', '', '', '',
+        'pkgrefnum_import', 'int', 'NULL', '', '', '',
       ],
       'primary_key'  => 'pkgrefnum',
       'unique'       => [ [ 'pkgnum', 'refnum' ] ],
@@ -6623,6 +6858,7 @@ sub tables_hashref {
         'min_level', 'int',  'NULL', '', '', '',
         'msgnum', 'int', '',  '', '', '',
         'to_addr', 'varchar', 'NULL',     255, '', '',
+        'context_height',  'int', 'NULL', '', '', '', 
       ],
       'primary_key'  => 'logemailnum',
       'unique'       => [],
@@ -6731,7 +6967,7 @@ sub tables_hashref {
         'mac_addr',  'varchar', 'NULL',      12, '', '', 
       ],
       'primary_key'  => 'svcnum',
-      'unique'       => [ ['serialnum'] , ['mac_addr'] ],
+      'unique'       => [ ['modelnum', 'serialnum'] , ['mac_addr'] ],
       'index'        => [],
       'foreign_keys' => [
                           { columns    => [ 'svcnum' ],
@@ -6889,6 +7125,7 @@ sub tables_hashref {
         'vendor_order_status',  'varchar', 'NULL', $char_d,  '', '',
         'endpoint_ip_addr',     'varchar', 'NULL', 40, '', '',
         'endpoint_mac_addr',    'varchar', 'NULL', 12, '', '',
+        'internal_circuit_id',  'varchar', 'NULL', 64, '', '',
       ],
       'primary_key' => 'svcnum',
       'unique'      => [],
@@ -7268,6 +7505,7 @@ sub tables_hashref {
         'graphnum',       'int',      'NULL', '', '', '', 
         'imported',       @date_type,             '', '',
         'content',        'text',     'NULL', '', '', '',
+        'thumbnail',      'text',     'NULL', '', '', '',
       ],
       'primary_key' => 'cacti_pagenum',
       'unique'  => [ ],
@@ -7384,6 +7622,159 @@ sub tables_hashref {
                         ],
     },
 
+    'rt_field_charge' => {
+      'columns' => [
+        'rtfieldchargenum',    'serial',      '',      '', '', '',
+        'pkgnum',                 'int',      '',      '', '', '', 
+        'ticketid',               'int',      '',      '', '', '', 
+        'rate',             @money_type,                   '', '', 
+        'units',              'decimal',      '',  '10,4', '', '',
+        'charge',           @money_type,                   '', '', 
+        '_date',             @date_type,                   '', '',
+      ],
+      'primary_key'  => 'rtfieldchargenum',
+      'unique'       => [],
+      'index'        => [ ['pkgnum', 'ticketid'] ],
+      'foreign_keys' => [
+                          { columns    => [ 'pkgnum' ],
+                            table      => 'cust_pkg',
+                          },
+                        ],
+    },
+
+    'commission_schedule' => {
+      'columns' => [
+        'schedulenum',    'serial',     '',      '', '', '',
+        'schedulename',  'varchar',     '', $char_d, '', '',
+        'reasonnum',         'int', 'NULL',      '', '', '',
+        'basis',         'varchar', 'NULL',      32, '', '',
+      ],
+      'primary_key'  => 'schedulenum',
+      'unique'       => [],
+      'index'        => [],
+    },
+
+    'commission_rate' => {
+      'columns' => [
+        'commissionratenum', 'serial',     '',      '', '', '',
+        'schedulenum',       'int',     '',      '', '', '',
+        'cycle',             'int',     '',      '', '', '',
+        'amount',            @money_type,          '', '', 
+        'percent',           'decimal','',   '7,4', '', '',
+      ],
+      'primary_key'  => 'commissionratenum',
+      'unique'       => [ [ 'schedulenum', 'cycle', ] ],
+      'index'        => [],
+      'foreign_keys' => [
+                          { columns => [ 'schedulenum' ],
+                            table   => 'commission_schedule',
+                          },
+                        ],
+    },
+
+    'saved_search' => {
+      'columns' => [
+        'searchnum',    'serial',  '',          '', '', '',
+        'usernum',      'int',     'NULL',      '', '', '',
+        'searchname',   'varchar', '',     $char_d, '', '',
+        'path',         'varchar', '',     $char_d, '', '',
+        'params',       'text',    'NULL',      '', '', '',
+        'disabled',     'char',    'NULL',       1, '', '',
+        'freq',         'varchar', 'NULL',      16, '', '',
+        'last_sent',    'int',     'NULL',      '', '', '',
+        'format',       'varchar', 'NULL',      32, '', '',
+      ],
+      'primary_key'   => 'searchnum',
+      'unique'        => [],
+      'index'         => [],
+      'foreign_keys'  => [
+                           { columns => [ 'usernum' ],
+                             table   => 'access_user',
+                           },
+                         ],
+    },
+
+    'addr_status' => {
+      'columns' => [
+        'addrnum',  'serial',      '', '', '', '',
+        'ip_addr',  'varchar', 'NULL', 40, '', '',
+        '_date',    @date_type,            '', '',
+        'up',       'char',    'NULL',  1, '', '',
+        'delay',    'int',     'NULL', '', '', '',
+      ],
+      'primary_key'   => 'addrnum',
+      'unique'        => [ [ 'ip_addr' ] ],
+      'index'         => [ [ '_date' ] ],
+      'foreign_keys'  => [],
+    },
+
+    'realestate_unit' => {
+      'columns' => [
+        'realestatenum',    'serial',  '',     '',      '',  '',
+        'realestatelocnum', 'int',     '',     '',      '',  '',
+        'agentnum',         'int',     'NULL', '',      '',  '',
+        'unit_title',       'varchar', '',     $char_d, '',  '',
+        'disabled',         'char',    'NULL', 1,       '',  '',
+      ],
+      'primary_key'  => 'realestatenum',
+      'unique'       => [ ['unit_title'] ],
+      'index'        => [
+        ['agentnum'],
+        ['realestatelocnum'],
+        ['disabled'],
+        ['unit_title'],
+      ],
+      'foreign_keys' => [
+        {columns => ['agentnum'], table => 'agent'},
+        {columns => ['realestatelocnum'] => table => 'realestate_location'},
+      ],
+    },
+
+    'realestate_location' => {
+      'columns' => [
+        'realestatelocnum', 'serial',  '',     '',      '', '',
+        'agentnum',         'int',     'NULL', '',      '', '',
+        'location_title',   'varchar', '',     $char_d, '', '',
+        'address1',         'varchar', 'NULL', $char_d, '',  '',
+        'address2',         'varchar', 'NULL', $char_d, '',  '',
+        'city',             'varchar', 'NULL', $char_d, '',  '',
+        'state',            'varchar', 'NULL', $char_d, '',  '',
+        'zip',              'char',    'NULL', 5,       '',  '',
+        'disabled',         'char',    'NULL', 1,       '',  '',
+      ],
+      'primary_key'  => 'realestatelocnum',
+      'unique'       => [ ['location_title'] ],
+      'index'        => [ ['agentnum'], ['disabled'] ],
+      'foreign_keys' => [
+        {columns => ['agentnum'], table => 'agent'},
+      ],
+    },
+
+    'svc_realestate' => {
+      'columns' => [
+        'svcnum',        'serial',  '',     '',      '', '',
+        'realestatenum', 'int',     'NULL', '',      '', '',
+      ],
+      'primary_key' => 'svcnum',
+      'index'       => [],
+    },
+
+    'svc_group' => {
+      'columns' => [
+        'svcnum',          'int', '', '', '', '', 
+        'max_accounts',    'int', '', '', '', '',
+      ],
+      'primary_key'  => 'svcnum',
+      'unique'       => [],
+      'index'        => [],
+      'foreign_keys' => [
+                          { columns    => [ 'svcnum' ],
+                            table      => 'cust_svc',
+                          },
+                        ],
+    },
+
+
     # name type nullability length default local
 
     #'new_table' => {
@@ -7410,4 +7801,3 @@ L<DBIx::DBSchema>
 =cut
 
 1;
-