VbzCart/docs/tables/ord pkgs: Difference between revisions

From Woozle Writes Code
< VbzCart‎ | docs‎ | tables
Jump to navigation Jump to search
imported>Woozle
(better documentation of fields)
imported>Woozle
(Another field I should have included)
Line 8: Line 8:
*** This field may be less useful in the web-based UI than it was in the Access/desktop UI.
*** 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? <s>Maybe WhenFinished does this...</s>) A package should never be voided without first zeroing stock in all line items.
** '''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? <s>Maybe WhenFinished does this...</s>) A package should never be voided without first zeroing stock in all line items.
* '''ChgShipItm''': total charged for per-item shipping
** '''ChgShipItm''': total charged for per-item shipping
* '''ChgShipPkg''': amount charged for per-package shipping
** '''ChgShipPkg''': amount charged for per-package shipping
* '''Notes''':
* '''Future''':
** The field "ArrivalNotes" should be added to the message log; leaving it out of the migration for this table.
** 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''':
* '''History''':
** '''2010-10-19''' Added '''ChgShipItm''', '''ChgShipPkg''' to complete the record of what was charged for the package.
** '''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==
==SQL==
<section begin=sql /><mysql>CREATE TABLE `ord_pkgs` (
<section begin=sql /><mysql>CREATE TABLE `ord_pkgs` (

Revision as of 18:43, 20 October 2010

About

  • Purpose: Packages shipped in response to a customer order (Template:Vbzcart/table)
  • Refers to: Template:Vbzcart/table (parent), Template:Vbzcart/table
  • Used by: Template:Vbzcart (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 Template:Vbzcart 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

<section begin=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) 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;</mysql> <section end=sql />