VbzCart/tables/ord pkgs

About

 * Purpose: Packages shipped in response to a customer order
 * Refers to: (parent),
 * Used by: (child)
 * Fields:
 * WhenFinished: I'm going to go out on a limb and define this as the time when the package charges are added up and created as records.
 * WhenChecked: When the package was marked as ready (checked off) for inclusion in the shipment
 * This field may be less useful in the web-based UI than it was in the Access/desktop UI.
 * WhenVoided: We're not deleting packages anymore. Instead, we mark an emptied, unsent package as "VOID", and log it in the container record. Voided package records can be re-used if they aren't assigned to a closed shipment; log the un-voiding prior to re-use. (Should there be a "WhenLocked" field to represent the shipment being closed? Maybe WhenFinished does this... ) A package should never be voided without first zeroing stock in all line items.
 * ChgShipItm: total charged for per-item shipping
 * ChgShipPkg: amount charged for per-package shipping
 * Future:
 * The field "ArrivalNotes" should be added to the message log; leaving it out of the migration for this table.
 * There should be ChgItmSale to go with the other 2 Chg* fields. Duh.
 * History:
 * 2010-10-19 Added ChgShipItm, ChgShipPkg to complete the record of what was charged for the package. (This should make it a lot easier to estimate shipping rates, though that's not why I added them. I added them from a vague sense that they should be there.)

SQL
CREATE TABLE `ord_pkgs` ( `ID`             INT NOT NULL AUTO_INCREMENT,  `Seq`            INT COMMENT "number used to make user-friendly pkg #",  `ID_Order`       INT NOT NULL COMMENT "core_orders.ID",  `WhenStarted`    DATETIME COMMENT "when package record was created",  `WhenFinished`   DATETIME,  `WhenChecked`    DATETIME,  `WhenVoided`     DATETIME COMMENT "when package was emptied; can be reused later",  `isReturn`       BOOL COMMENT "TRUE = this package is being returned, not shipped out",  `ID_Shipment`    INT COMMENT "ord_shipmt.ID",  `ChgShipItm`     DECIMAL(9,2) COMMENT "total amount charged for per-item shipping",  `ChgShipPkg`     DECIMAL(9,2) COMMENT "amount charged for per-package shipping",  `ShipCost`       DECIMAL(9,2) COMMENT "actual cost of shipping (postage)",  `PkgCost`        DECIMAL(9,2) COMMENT "actual cost of packaging / insurance",  `ShipPounds`     FLOAT COMMENT "shipping weight in pounds (whole or fractional)", `ShipOunces`    FLOAT COMMENT "shipping weight in ounces, less ShipPounds", `ShipNotes`     VARCHAR(255) COMMENT "human-entered notes about this pkg", `ShipTracking`  VARCHAR(127) COMMENT "shipper's tracking number for pkg", `WhenArrived`   DATETIME COMMENT "when arrived at customer, if known", PRIMARY KEY(`ID`) ) ENGINE = MYISAM;