Difference between revisions of "VbzCart/tables/ord hold type"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
(further explanation of alert flags)
(TINYINT -> TINYINT(1))
Line 6: Line 6:
 
** '''2008-12-27''' Extracted from main "tables" listing, no design changes; no documentation yet, either
 
** '''2008-12-27''' Extracted from main "tables" listing, no design changes; no documentation yet, either
 
** '''2009-07-12''' Removed isActive field; added "Hold" to field names for directional consistency (+1 always turns on an alert); preliminary documentation
 
** '''2009-07-12''' Removed isActive field; added "Hold" to field names for directional consistency (+1 always turns on an alert); preliminary documentation
 +
** '''2009-10-18''' changing type for alert flags from TINYINT to TINYINT(1); the default seems to be TINYINT(4)
 +
*** BIT(2) would work, but there doesn't seem to be any clean way to represent -1
 
* '''Fields''':
 
* '''Fields''':
 
** '''alert flags''':
 
** '''alert flags''':
Line 27: Line 29:
 
   `Display`      VARCHAR(63) COMMENT "brief name for this event type",
 
   `Display`      VARCHAR(63) COMMENT "brief name for this event type",
 
   `Descr`        VARCHAR(127) COMMENT "longer description of usage",
 
   `Descr`        VARCHAR(127) COMMENT "longer description of usage",
   `doHoldRstk` TINYINT COMMENT "forbid(+1)/allow(-1) restocking this order's items",
+
   `doHoldRstk` TINYINT(1) COMMENT "forbid(+1)/allow(-1) restocking this order's items",
   `doHoldChrg` TINYINT COMMENT "forbid(+1)/allow(-1) charging bank card for this order",
+
   `doHoldChrg` TINYINT(1) COMMENT "forbid(+1)/allow(-1) charging bank card for this order",
   `doContact`  TINYINT COMMENT "turn on(+1)/off(-1) need-to-contact flag for this order",
+
   `doContact`  TINYINT(1) COMMENT "turn on(+1)/off(-1) need-to-contact flag for this order",
   `doExamine`  TINYINT COMMENT "turn on(+1)/off(-1) need-to-examine flag for this order",
+
   `doExamine`  TINYINT(1) COMMENT "turn on(+1)/off(-1) need-to-examine flag for this order",
 
   PRIMARY KEY(`ID`)
 
   PRIMARY KEY(`ID`)
 
)
 
)
 
ENGINE = MYISAM;</mysql>
 
ENGINE = MYISAM;</mysql>
 
<section end=sql />
 
<section end=sql />

Revision as of 13:40, 18 October 2009

About

  • Purpose: Admin-maintained table for different types of order-related events and how the order itself is affected by each event of that type
  • Relates to: ord_event
  • Background: See ord_event
  • History:
    • 2008-12-27 Extracted from main "tables" listing, no design changes; no documentation yet, either
    • 2009-07-12 Removed isActive field; added "Hold" to field names for directional consistency (+1 always turns on an alert); preliminary documentation
    • 2009-10-18 changing type for alert flags from TINYINT to TINYINT(1); the default seems to be TINYINT(4)
      • BIT(2) would work, but there doesn't seem to be any clean way to represent -1
  • Fields:
    • alert flags:
      • doHoldRstk - if TRUE, do not base restock requests on this order's items
      • doHoldChrg - if TRUE, do not make any debits from the customer for this order (wait for confirmation)
      • doContact - if TRUE, contact the customer before proceeding (do we need a separate "no payment" flag?)
      • doExamine - if TRUE, something about this order needs further examination (explanation in event notes)
      • It may be that we need a "doImport" flag, to indicate orders which need importing; doExamine is probably for more complicated issues which may take time/expertise to resolve. On the other hand, it may make more sense to detect un-imported orders in other ways, e.g. the fact that some fields will be NULL -- but it may be useful to have an explicit flag for this, e.g. to be able to signal that an order needs to be re-imported.

alert flags

The alert flag fields each have 3 possible values:

0 = no change
+1 = FORBID / TURN ON ALERT
-1 = ALLOW / TURN OFF ALERT

Each one affects the corresponding field in the order (not yet implemented as of 2009-07-12) as described above when an event of the type defined in this record occurs

If the order has any one of these flags set, then the order is "on hold".

SQL

<mysql>CREATE TABLE `ord_event_type` (

 `ID`           INT NOT NULL AUTO_INCREMENT,
 `Display`      VARCHAR(63) COMMENT "brief name for this event type",
 `Descr`        VARCHAR(127) COMMENT "longer description of usage",
 `doHoldRstk` TINYINT(1) COMMENT "forbid(+1)/allow(-1) restocking this order's items",
 `doHoldChrg` TINYINT(1) COMMENT "forbid(+1)/allow(-1) charging bank card for this order",
 `doContact`  TINYINT(1) COMMENT "turn on(+1)/off(-1) need-to-contact flag for this order",
 `doExamine`  TINYINT(1) COMMENT "turn on(+1)/off(-1) need-to-examine flag for this order",
 PRIMARY KEY(`ID`)

) ENGINE = MYISAM;</mysql>