start adding package locations, RT#4499
[freeside.git] / FS / FS / Schema.pm
index 8961f33..ecf017e 100644 (file)
@@ -526,7 +526,7 @@ sub tables_hashref {
         'amount',  @money_typen, '', '', 
         'format',  'char', 'NULL', 1, '', '',
         'classnum', 'char', 'NULL', 1, '', '',
-        'detail',  'varchar', '', $char_d, '', '', 
+        'detail',  'varchar', '', 255, '', '', 
       ],
       'primary_key' => 'detailnum',
       'unique' => [],
@@ -558,6 +558,7 @@ sub tables_hashref {
         'otaker',   'varchar', '', 32, '', '', 
         'reason',   'text', 'NULL', '', '', '', 
         'reasonnum', 'int', 'NULL', '', '', '', 
+        'addlinfo', 'text', 'NULL', '', '', '',
         'closed',    'char', 'NULL', 1, '', '', 
       ],
       'primary_key' => 'crednum',
@@ -647,6 +648,7 @@ sub tables_hashref {
         'paystate', 'varchar', 'NULL', $char_d, '', '', 
         'paytype',  'varchar', 'NULL', $char_d, '', '', 
         'payip',    'varchar', 'NULL', 15, '', '', 
+        'geocode',  'varchar', 'NULL', 20,  '', '',
         'tax',      'char', 'NULL', 1, '', '', 
         'otaker',   'varchar', '',    32, '', '', 
         'refnum',   'int',  '',     '', '', '', 
@@ -669,6 +671,28 @@ sub tables_hashref {
                  ],
     },
 
+    #eventually use for billing & ship from cust_main too
+    #for now, just cust_pkg locations
+    'cust_location' => {
+      'columns' => [
+        'locationnum',  'serial',     '',      '', '', '',
+        'custnum',         'int',     '',      '', '', '',
+        'address1',    'varchar',     '', $char_d, '', '', 
+        'address2',    'varchar', 'NULL', $char_d, '', '', 
+        'city',        'varchar',     '', $char_d, '', '', 
+        'county',      'varchar', 'NULL', $char_d, '', '', 
+        'state',       'varchar', 'NULL', $char_d, '', '', 
+        'zip',         'varchar', 'NULL',      10, '', '', 
+        'country',        'char',     '',       2, '', '', 
+        'geocode',     'varchar', 'NULL',      20, '', '',
+      ],
+      'primary_key' => 'locationnum',
+      'unique'      => [],
+      'index'       => [ [ 'custnum' ],
+                         [ 'county' ], [ 'state' ], [ 'country' ], [ 'zip' ],
+                       ],
+    },
+
     'cust_main_invoice' => {
       'columns' => [
         'destnum',  'serial',  '',     '', '', '', 
@@ -753,11 +777,15 @@ sub tables_hashref {
       'columns' => [
         'custlocationnum', 'serial',  '',     '', '', '', 
         'data_vendor',     'varchar', 'NULL', $char_d, '', '', # update source
+        'city',            'varchar', 'NULL', $char_d, '', '',
+        'postalcity',      'varchar', 'NULL', $char_d, '', '',
+        'county',          'varchar', 'NULL', $char_d, '', '',
         'zip',             'char',    '',     5,  '', '', 
         'state',           'char',    '',     2,  '', '', 
-        'plus4hi',         'char',    '',     4,  '', '', 
-        'plus4lo',         'char',    '',     4,  '', '', 
+        'plus4hi',         'char',    'NULL', 4,  '', '', 
+        'plus4lo',         'char',    'NULL', 4,  '', '', 
         'default_location','char',    'NULL', 1,  '', '', # Y = default for zip
+        'cityflag',        'char',    'NULL', 1,  '', '', # I(n)/O(out)/B(oth)/NULL
         'geocode',         'varchar', '',    20,  '', '', 
       ],
       'primary_key' => 'custlocationnum',
@@ -932,26 +960,27 @@ sub tables_hashref {
 
     'cust_pkg' => {
       'columns' => [
-        'pkgnum',         'serial',    '',   '', '', '', 
-        'custnum',        'int',    '',   '', '', '', 
-        'pkgpart',        'int',    '',   '', '', '', 
-        'otaker',         'varchar', '', 32, '', '', 
-        'setup',          @date_type, '', '', 
-        'bill',           @date_type, '', '', 
-        'last_bill',      @date_type, '', '', 
-        'susp',           @date_type, '', '', 
-        'adjourn',        @date_type, '', '', 
-        'cancel',         @date_type, '', '', 
-        'expire',         @date_type, '', '', 
-        'change_date',    @date_type, '', '',
-        'change_pkgnum',  'int', 'NULL', '', '', '',
-        'change_pkgpart', 'int', 'NULL', '', '', '',
-        'manual_flag',    'char', 'NULL', 1, '', '', 
-        'quantity',       'int', 'NULL', '', '', '',
+        'pkgnum',           'serial',     '', '', '', '', 
+        'custnum',             'int',     '', '', '', '', 
+        'pkgpart',             'int',     '', '', '', '', 
+        'locationnum',         'int', 'NULL', '', '', '',
+        'otaker',          'varchar',     '', 32, '', '', 
+        'setup',          @date_type,             '', '', 
+        'bill',           @date_type,             '', '', 
+        'last_bill',      @date_type,             '', '', 
+        'susp',           @date_type,             '', '', 
+        'adjourn',        @date_type,             '', '', 
+        'cancel',         @date_type,             '', '', 
+        'expire',         @date_type,             '', '', 
+        'change_date',    @date_type,             '', '',
+        'change_pkgnum',       'int', 'NULL', '', '', '',
+        'change_pkgpart',      'int', 'NULL', '', '', '',
+        'manual_flag',        'char', 'NULL',  1, '', '', 
+        'quantity',            'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'pkgnum',
       'unique' => [],
-      'index' => [ ['custnum'], ['pkgpart'],
+      'index' => [ ['custnum'], ['pkgpart'], [ 'locationnum' ],
                    ['setup'], ['last_bill'], ['bill'], ['susp'], ['adjourn'],
                    ['expire'], ['cancel'],
                    ['change_date'],
@@ -1110,7 +1139,7 @@ sub tables_hashref {
         'taxproductnum', 'serial',      '',        '', '', '',
         'data_vendor',   'varchar', 'NULL',   $char_d, '', '', 
         'taxproduct',    'varchar',     '',   $char_d, '', '', 
-        'description',   'varchar',     '', 2*$char_d, '', '', 
+        'description',   'varchar',     '', 3*$char_d, '', '', 
       ],
       'primary_key' => 'taxproductnum',
       'unique'      => [ [ 'data_vendor', 'taxproduct' ] ],
@@ -1433,18 +1462,18 @@ sub tables_hashref {
 
     'queue' => {
       'columns' => [
-        'jobnum', 'serial', '', '', '', '', 
-        'job', 'text', '', '', '', '', 
-        '_date', 'int', '', '', '', '', 
-        'status', 'varchar', '', $char_d, '', '', 
-        'statustext', 'text', 'NULL', '', '', '', 
-        'svcnum', 'int', 'NULL', '', '', '', 
-        'secure',  'char', 'NULL', 1, '', '', # Y = needs to be run on machine
-                                              #     w/private key
+        'jobnum',      'serial',     '',      '', '', '', 
+        'job',           'text',     '',      '', '', '', 
+        '_date',          'int',     '',      '', '', '', 
+        'status',     'varchar',     '', $char_d, '', '', 
+        'statustext',    'text', 'NULL',      '', '', '', 
+        'svcnum',         'int', 'NULL',      '', '', '', 
+        'custnum',        'int', 'NULL',      '', '', '',
+        'secure',        'char', 'NULL',       1, '', '',
       ],
       'primary_key' => 'jobnum',
       'unique'      => [],
-      'index'       => [ [ 'svcnum' ], [ 'status' ] ],
+      'index'       => [ [ 'job' ], [ 'svcnum' ], [ 'custnum' ], [ 'status' ] ],
     },
 
     'queue_arg' => {