id INT NOT NULL AUTO_INCREMENT,
assets_term_assets_name TINYTEXT NULL, -- Term "Asset Management"
assets_term_asset TINYTEXT NULL,
- assets_term_asset_cap TINYTEXT NULL,
assets_term_asset_plur TINYTEXT NULL,
+ assets_term_asset_cap TINYTEXT NULL,
assets_term_asset_plur_cap TINYTEXT NULL,
+ assets_term_facility TINYTEXT NULL,
+ assets_term_facility_plur TINYTEXT NULL,
+ assets_term_facility_cap TINYTEXT NULL,
+ assets_term_facility_plur_cap TINYTEXT NULL,
+ assets_term_item TINYTEXT NULL,
+ assets_term_item_plur TINYTEXT NULL,
+ assets_term_item_cap TINYTEXT NULL,
+ assets_term_item_plur_cap TINYTEXT NULL,
+ PRIMARY KEY (id)
+);
+
+----
+
+-- An account for a person requesting an asset
+-- A single account may be assocaiated with multiple assignments
+CREATE TABLE {prefix}account (
+ id INT NOT NULL AUTO_INCREMENT,
+ active BOOLEAN NULL, -- Is active flag (may be accessed or used) - default is true
+ validated BOOLEAN NULL, -- Flag indicating that the account has been validated - Set to false when recovering password
+ validation_code TINYTEXT NULL, -- Validation code and timestamp ("{validation code}-{timestamp}) - Clear this after validation
+ member_id TINYTEXT NULL, -- Free-form field for a member ID (not a GLM Associate member ID)
+ fname TINYTEXT NULL, -- Account primary address
+ lname TINYTEXT NULL,
+ org TINYTEXT NULL,
+ title TINYTEXT NULL,
+ addr1 TINYTEXT NULL,
+ addr2 TINYTEXT NULL,
+ city TINYTEXT NULL,
+ state TINYTEXT NULL,
+ zip TINYTEXT NULL,
+ country TINYTEXT NULL,
+ phone TINYTEXT NULL,
+ fax TINYTEXT NULL,
+ bill_fname TINYTEXT NULL, -- Last used billing information
+ bill_lname TINYTEXT NULL,
+ bill_org TINYTEXT NULL,
+ bill_title TINYTEXT NULL,
+ bill_addr1 TINYTEXT NULL,
+ bill_addr2 TINYTEXT NULL,
+ bill_city TINYTEXT NULL,
+ bill_state TINYTEXT NULL,
+ bill_zip TINYTEXT NULL,
+ bill_country TINYTEXT NULL,
+ bill_phone TINYTEXT NULL,
+ bill_fax TINYTEXT NULL,
+ email TINYTEXT NULL,
+ password TINYTEXT NULL, -- Crypted password for login back into this account
+ email_ok BOOLEAN NULL,
+ is_member BOOLEAN NULL, -- Is a member of the entity that owns the site
+ contact_id INT NULL, -- Pointer to GLM Associate member contact record if account is for a member contact
+ contact_fname TINYTEXT NULL,
+ contact_lname TINYTEXT NULL,
+ contact_org TINYTEXT NULL,
+ contact_title TINYTEXT NULL,
+ contact_addr1 TINYTEXT NULL,
+ contact_addr2 TINYTEXT NULL,
+ contact_city TINYTEXT NULL,
+ contact_state TINYTEXT NULL,
+ contact_zip TINYTEXT NULL,
+ contact_country TINYTEXT NULL,
+ contact_phone TINYTEXT NULL,
+ contact_fax TINYTEXT NULL,
+ contact_email TINYTEXT NULL,
+ contact_email_ok BOOLEAN NULL,
+ date_created DATE NULL,
+ notes TEXT NULL, -- System operator's notes for this account - not visible to account owner
+ user_trace_info TINYTEXT NULL, -- IP Address of user computer and timestamp of last update
+ PRIMARY KEY (id),
+ INDEX (member_id(10)),
+ INDEX (fname(10)),
+ INDEX (lname(10)),
+ INDEX (org(10)),
+ INDEX (city(10)),
+ INDEX (state(5)),
+ INDEX (zip(5)),
+ INDEX (email(10)),
+ INDEX (contact_id)
+);
+
+----
+
+-- Facility - A place where multiple assets are located and can be mapped
+CREATE TABLE {prefix}facility (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Name of facility
+ descr TEXT NULL, -- Description of this facility
+ address TINYTEXT NULL, -- Street Address
+ city INT NULL, -- Pointer to city - references main plugin city table
+ state TINYTEXT NULL, -- Two character state abbreviation
+ zip TINYTEXT NULL, -- ZIP/Postal code
+ country TINYTEXT NULL, -- Country Code
+ lat FLOAT NULL, -- Latitude of location
+ lon FLOAT NULL, -- Longitude of location
+ phone TINYTEXT NULL, -- Location Phone #
+ url TINYTEXT NULL, -- Location URL
+ email TINYTEXT NULL, -- Location E-Mail Address
+ facility_map TINYTEXT NULL, -- Image of facility map - To use for mapping asset items
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Asset Types - Defines a type of asset that has a group of asset items (i.e. room)
+CREATE TABLE {prefix}asset_type (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Name of asset type
+ descr TEXT NULL, -- Description of this asset type
+ use_type SMALLINT NULL, -- Type of useage - Config list "use_type"
+ lead_time INTEGER NULL, -- Default lead time required to request this type asset - Abstract "interval" type
+ reuse_time INTEGER NULL, -- Default time required to prepair this type for reuse (blocks out this amount of time after end_time) - Abstract "interval" type
+ cost FLOAT NULL, -- Default cost for use of this asset type
+ hold_time SMALLINT NULL, -- Amount of time ( Minutes ) that this type may be held in an assignment prior to securing the assignment (checkout)
+ map_item_type SMALLINT NULL, -- May item type - Config List "map_item_type"
+ -- Map item size info goes here
PRIMARY KEY (id)
);
----
+-- Asset Item - Defines a specific asset of a particular asset type
+CREATE TABLE {prefix}asset_item (
+ id INT NOT NULL AUTO_INCREMENT,
+ asset_type INT NULL, -- Pointer to asset_type entry
+ name TINYTEXT NULL, -- Name of asset - Text identification of asset
+ number INTEGER NULL, -- Asset Number - Numeric identification of asset of specified type
+ quant INTEGER NULL, -- Quantity of this asset_item - Use if identical items (i.e. Chairs) - Defualt 1 (single item)
+ descr TEXT NULL, -- Description of this asset item
+ area SMALLINT NULL, -- Area
+ area_units SMALLINT NULL, -- Unit used for area - config list
+ lead_time INTEGER NULL, -- Actual lead time required to request this item - Abstract "interval" type
+ reuse_time INTEGER NULL, -- Actual time required to prepair this type for reuse for this item - Abstract "interval" type
+ cost FLOAT NULL, -- Default cost for use of this asset type
+ facility INTEGER NULL, -- Pointer to facility
+ -- Map location data has to go here
+ PRIMARY KEY (id),
+ INDEX (asset_type),
+ INDEX (facility)
+);
+
+----
+
+-- Assets Assignment - An assignment of a groups of asset items for (or at) a particular time. - This is a kind of "Cart" entry
+CREATE TABLE {prefix}asset_assignment (
+ id INT NOT NULL AUTO_INCREMENT,
+ status TINYINT NULL, -- Status of this assignment - Config list "assignment_status"
+ name TINYTEXT NULL, -- Name of this assignment (Event, requester, ...)
+ account INTEGER NULL, -- Pointer to account record
+ start_time DATETIME NULL, -- Start time of assignment
+ end_time DATETIME NULL, -- End time of assignment
+ PRIMARY KEY (id),
+ INDEX (start_time),
+ INDEX (end_time),
+ INDEX (account)
+);
+
+----
+
+-- Asset Assigned - List of assets assigned as part of an "assignment"
+CREATE TABLE {prefix}asset_assigned (
+ id INT NOT NULL AUTO_INCREMENT,
+ asset_assignment INTEGER NULL, -- Pointer to asset_assignment
+ asset_item INTEGER NULL, -- Pointer to asset_item
+ asset_type INTEGER NULL, -- Pointer to asset_type
+ quant INTEGER NULL, -- Quantity of asset_item assigned - Default to 1
+ hold_release_time DATETIME NULL, -- Time at which hold on this asset item is released (0 if assignment is complete)
+ PRIMARY KEY (id),
+ INDEX (asset_assignment),
+ INDEX (asset_item),
+ INDEX (asset_type),
+ INDEX (hold_release_time)
+);
+
+----
+
-- Insert into management table
INSERT INTO {prefix}management
(
(
assets_term_assets_name,
assets_term_asset,
- assets_term_asset_cap,
assets_term_asset_plur,
- assets_term_asset_plur_cap
+ assets_term_asset_cap,
+ assets_term_asset_plur_cap,
+ assets_term_facility,
+ assets_term_facility_plur,
+ assets_term_facility_cap,
+ assets_term_facility_plur_cap,
+ assets_term_item,
+ assets_term_item_plur,
+ assets_term_item_cap,
+ assets_term_item_plur_cap
)
VALUES
(
'Asset Management', -- assets_term_assets_name
'asset', -- assets_term_asset
- 'Asset', -- assets_term_asset_cap
'assets', -- assets_term_asset_plur
- 'Assets' -- assets_term_asset_plur_cap
+ 'Asset', -- assets_term_asset_cap
+ 'Assets', -- assets_term_asset_plur_cap
+ 'facility', -- assets_term_facility
+ 'facilities', -- assets_term_facility_plur
+ 'Facility', -- assets_term_facility_cap
+ 'Facilities', -- assets_term_facility_plur_cap
+ 'item', -- assets_term_asset
+ 'items', -- assets_term_asset_plur
+ 'Item', -- assets_term_asset_cap
+ 'Items' -- assets_term_asset_plur_cap
);