VbzCart/tables/ord pkgs

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
< VbzCart‎ | tables
Revision as of 16:21, 25 May 2014 by Woozle (talk | contribs) (ChgItemSale; minor cleanup)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

About

  • Purpose: Packages shipped in response to a customer order (
  1. REDIRECT Template:l/vc/table)
  • Refers to: core_orders (parent), ord_shipmt
  • Used by: ord_pkg_lines (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 order transaction 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
    • ChgItmSale: total charged price of all items in this package
  • Future:
    • The field "ArrivalNotes" should be added to the message log; leaving it out of the migration for this table.
  • 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.)
    • 2014-05-25 Added ChgItmSale to complete the record of how each package contributes to the total.

SQL

<mysql>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) DEFAULT NULL COMMENT "total amount charged for per-item shipping",
 `ChgShipPkg`     DECIMAL(9,2) DEFAULT NULL COMMENT "amount charged for per-package shipping",
 `ChgItmSale`     DECIMAL(9,2) DEFAULT NULL COMMENT "total sale amount of all charged items in package",
 `ShipCost`       DECIMAL(9,2) DEFAULT NULL COMMENT "actual cost of shipping (postage)",
 `PkgCost`        DECIMAL(9,2) DEFAULT NULL 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;</mysql>