	CREATE TABLE IF NOT EXISTS Computerboek_Boeken.BoekenPrijsBuckets ( Ean CHAR(13), Extra VARCHAR( 255 ), KEY( Ean ) ) ENGINE=INNODB;
	DELETE FROM Computerboek_Boeken.BoekenPrijsBuckets;
	
	REPLACE INTO Computerboek_Boeken.BoekenPrijsBuckets SELECT Ean, 'Tot €25' FROM Computerboek_Boeken.Boeken B WHERE IF( B.Aanbiedingsprijs > 0 && NOW() > B.Aanbiedingvanaf && NOW() <= IF( B.Aanbiedingtotenmet = '0000-00-00', NOW(), B.Aanbiedingtotenmet ), Aanbiedingsprijs, calc_prijs( Prijs, Valuta ) ) <= 25;
	REPLACE INTO Computerboek_Boeken.BoekenPrijsBuckets SELECT Ean, 'Tot €50' FROM Computerboek_Boeken.Boeken B WHERE IF( B.Aanbiedingsprijs > 0 && NOW() > B.Aanbiedingvanaf && NOW() <= IF( B.Aanbiedingtotenmet = '0000-00-00', NOW(), B.Aanbiedingtotenmet ), Aanbiedingsprijs, calc_prijs( Prijs, Valuta ) ) <= 50;	
	REPLACE INTO Computerboek_Boeken.BoekenPrijsBuckets SELECT Ean, 'Tot €75' FROM Computerboek_Boeken.Boeken B WHERE IF( B.Aanbiedingsprijs > 0 && NOW() > B.Aanbiedingvanaf && NOW() <= IF( B.Aanbiedingtotenmet = '0000-00-00', NOW(), B.Aanbiedingtotenmet ), Aanbiedingsprijs, calc_prijs( Prijs, Valuta ) ) <= 75;
	REPLACE INTO Computerboek_Boeken.BoekenPrijsBuckets SELECT Ean, 'Tot €100' FROM Computerboek_Boeken.Boeken B WHERE IF( B.Aanbiedingsprijs > 0 && NOW() > B.Aanbiedingvanaf && NOW() <= IF( B.Aanbiedingtotenmet = '0000-00-00', NOW(), B.Aanbiedingtotenmet ), Aanbiedingsprijs, calc_prijs( Prijs, Valuta ) ) <= 100;	
	REPLACE INTO Computerboek_Boeken.BoekenPrijsBuckets SELECT Ean, 'Meer dan €100' FROM Computerboek_Boeken.Boeken B WHERE IF( B.Aanbiedingsprijs > 0 && NOW() > B.Aanbiedingvanaf && NOW() <= IF( B.Aanbiedingtotenmet = '0000-00-00', NOW(), B.Aanbiedingtotenmet ), Aanbiedingsprijs, calc_prijs( Prijs, Valuta ) ) >= 100;
	
	CREATE TABLE IF NOT EXISTS Computerboek_Boeken.BoekenExtra ( Ean CHAR(13), Extra VARCHAR( 255 ), KEY( Ean ) ) ENGINE=INNODB;
	DELETE FROM Computerboek_Boeken.BoekenExtra;
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Bestseller top 100" FROM Computerboek_Klanten.Boekranking_Plat WHERE `30d` <= 100;
	-- REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Bestseller top 1000" FROM Computerboek_Klanten.Boekranking_Plat WHERE `30d` <= 1000;
	
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Aanbieding" FROM Computerboek_Klanten.BoekenTags WHERE aanbieding > 0;
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Nieuw" FROM Computerboek_Klanten.BoekenTags WHERE nieuw > 0;	
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Met recensies" FROM Computerboek_Klanten.BoekenTags WHERE aantal_recensies > 0;
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Met lezersrecensies" FROM Computerboek_Klanten.BoekenTags WHERE lezersrecensies > 0;
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Verwacht" FROM Computerboek_Klanten.BoekenTags WHERE verwacht > 0;
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Top 100 stemmen" FROM Computerboek_Klanten.BoekenTags WHERE top100 > 0;
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Top 100 waardering" FROM Computerboek_Klanten.BoekenTags WHERE stemmen_top_100 > 0;
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Evergreen" FROM Computerboek_Klanten.BoekenTags WHERE bestseller > 0;
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Voormalig nummer 1" FROM Computerboek_Klanten.BoekenTags WHERE nr1 > 0;
	REPLACE INTO Computerboek_Boeken.BoekenExtra SELECT Ean, "Met auteursbijdrage" FROM Computerboek_Klanten.BoekenTags WHERE auteursbijdragen > 0;
	
	DELETE FROM Computerboek_Boeken.BoekThemas;
	REPLACE INTO Computerboek_Boeken.BoekThemas SELECT Ean, 'Advisering' FROM Computerboek_Boeken.Trefwoorden T JOIN Computerboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'advisering' );
	REPLACE INTO Computerboek_Boeken.BoekThemas SELECT Ean, 'Coaching' FROM Computerboek_Boeken.Trefwoorden T JOIN Computerboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'coaching', 'coachen' );
	REPLACE INTO Computerboek_Boeken.BoekThemas SELECT Ean, 'Communicatie' FROM Computerboek_Boeken.Trefwoorden T JOIN Computerboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'communicatie' );
	REPLACE INTO Computerboek_Boeken.BoekThemas SELECT Ean, 'HRM' FROM Computerboek_Boeken.Boeken WHERE Rubriek IN ( 'personeelsmanagement' );
	REPLACE INTO Computerboek_Boeken.BoekThemas SELECT Ean, 'Leidinggeven' FROM Computerboek_Boeken.Trefwoorden T JOIN Computerboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'leidinggeven' );
	REPLACE INTO Computerboek_Boeken.BoekThemas SELECT Ean, 'Marketing' FROM Computerboek_Boeken.Trefwoorden T JOIN Computerboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'marketing' );
	REPLACE INTO Computerboek_Boeken.BoekThemas SELECT Ean, 'Training' FROM Computerboek_Boeken.Trefwoorden T JOIN Computerboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'trainen','training','werkvormen','workshop' );
	REPLACE INTO Computerboek_Boeken.BoekThemas SELECT Ean, 'ZZP' FROM Computerboek_Boeken.Trefwoorden T JOIN Computerboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'freelancen','zzp','acquisitie','ondernemerschap' );
	
    END ;;
DELIMITER ;
/*!50003 DROP PROCEDURE IF EXISTS `select_boeken` */;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` PROCEDURE `select_boeken`()
BEGIN
	/* Boeken */
	DROP TABLE IF EXISTS HCCBoekenClub.BoekenTmp;
	CREATE TABLE HCCBoekenClub.BoekenTmp LIKE Computerboek_Boeken.Boeken;
	INSERT INTO HCCBoekenClub.BoekenTmp SELECT * FROM Computerboek_Boeken.Boeken WHERE Clubprijs1 > 0;
	UPDATE HCCBoekenClub.BoekenTmp SET Prijs = Clubprijs1, Aanbiedingtotenmet = 0, Aanbiedingvanaf = 0, Aanbiedingsprijs = 0;
	DROP TABLE IF EXISTS HCCBoekenClub.Boeken;
	RENAME TABLE HCCBoekenClub.BoekenTmp TO HCCBoekenClub.Boeken;	
    END ;;
DELIMITER ;

--
-- Current Database: `Computerboek_Klanten`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `Computerboek_Klanten` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `Computerboek_Klanten`;

--
-- Table structure for table `AangepastePrijzen`
--

CREATE TABLE `AangepastePrijzen` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Ean` char(13) CHARACTER SET latin1 NOT NULL,
  `Aangepasteprijs` double NOT NULL,
  `Code` char(20) NOT NULL DEFAULT '',
  `Partnersite` varchar(20) DEFAULT NULL,
  `Begin` datetime DEFAULT '2009-01-01 00:00:00',
  `Eind` datetime DEFAULT '2099-01-01 00:00:00',
  PRIMARY KEY (`ID`),
  UNIQUE KEY `Code` (`Code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `Adres`
--

CREATE TABLE `Adres` (
  `Adresid` int(11) NOT NULL AUTO_INCREMENT,
  `Klantid` int(11) DEFAULT NULL,
  `Voornaam` varchar(200) DEFAULT NULL,
  `Voornaam_oud` varchar(200) DEFAULT NULL,
  `Achternaam` varchar(200) DEFAULT NULL,
  `Achternaam_oud` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam_oud` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam2` varchar(200) DEFAULT NULL,
  `Afdeling` varchar(200) DEFAULT NULL,
  `Afdeling_oud` varchar(200) DEFAULT NULL,
  `Functie` varchar(200) DEFAULT NULL,
  `Functie_oud` varchar(200) DEFAULT NULL,
  `Adres` varchar(200) DEFAULT NULL,
  `Adres_oud` varchar(200) DEFAULT NULL,
  `Postcode` varchar(200) DEFAULT NULL,
  `Postcode_oud` varchar(200) DEFAULT NULL,
  `Plaats` varchar(200) DEFAULT NULL,
  `Land` varchar(100) DEFAULT 'Nederland',
  `Plaats_oud` varchar(200) DEFAULT NULL,
  `Telefoonnummer` varchar(200) DEFAULT NULL,
  `Telefoonnummer_oud` varchar(200) DEFAULT NULL,
  `Faxnummer` varchar(200) DEFAULT NULL,
  `Faxnummer_oud` varchar(200) DEFAULT NULL,
  `Geslacht` varchar(200) DEFAULT NULL,
  `Geslacht_oud` varchar(200) DEFAULT NULL,
  `DTaanmaak` datetime DEFAULT NULL,
  `DTadreswijziging` datetime DEFAULT NULL,
  `Adrestype` enum('Factuur','Aflever') DEFAULT 'Factuur',
  `Straatnaam` varchar(200) DEFAULT NULL,
  `Straatnaam_oud` varchar(200) DEFAULT NULL,
  `Huisnummer` varchar(200) DEFAULT NULL,
  `Huisnummer_oud` varchar(200) DEFAULT NULL,
  `Huisnummertoevoeging` varchar(200) DEFAULT NULL,
  `Huisnummertoevoeging_oud` varchar(200) DEFAULT NULL,
  `Mobielnummer` varchar(12) DEFAULT NULL,
  `BTWNr` varchar(20) DEFAULT NULL,
  `BTWNrValid` tinyint(4) NOT NULL DEFAULT '0',
  `StudentNr` varchar(20) DEFAULT NULL,
  `StudentNrValid` tinyint(4) NOT NULL DEFAULT '0',
  `StudentVanaf` date DEFAULT NULL,
  `OnderwijsInstelling` varchar(50) DEFAULT NULL,
  `StudieRichting` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`Adresid`),
  KEY `Achternaam` (`Achternaam`),
  KEY `DTaanmaak` (`DTaanmaak`),
  KEY `DTadreswijziging` (`DTadreswijziging`),
  KEY `Klantid` (`Klantid`),
  KEY `Huisnummer` (`Huisnummer`),
  KEY `Straatnaam` (`Straatnaam`),
  CONSTRAINT `Adres_ibfk_1` FOREIGN KEY (`Klantid`) REFERENCES `Klanten` (`Klantid`)
) ENGINE=InnoDB AUTO_INCREMENT=83115 DEFAULT CHARSET=utf8;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_adres` BEFORE UPDATE ON `Adres` 
    FOR EACH ROW BEGIN
    
	CALL log_klanten_wijziging( NEW.Klantid, 'Voornaam', OLD.Voornaam, NEW.Voornaam, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Achternaam', OLD.Achternaam, NEW.Achternaam, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Bedrijfsnaam', OLD.Bedrijfsnaam, NEW.Bedrijfsnaam, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Postcode', OLD.Postcode, NEW.Postcode, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Plaats', OLD.Plaats, NEW.Plaats, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Huisnummer', OLD.Huisnummer, NEW.Huisnummer, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Huisnummertoevoeging', OLD.Huisnummertoevoeging, NEW.Huisnummertoevoeging, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Geslacht', OLD.Geslacht, NEW.Geslacht, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Straatnaam', OLD.Straatnaam, NEW.Straatnaam, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Telefoonnummer', OLD.Telefoonnummer, NEW.Telefoonnummer, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Afdeling', OLD.Afdeling, NEW.Afdeling, @context, @initials );
	
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `after_update_adres` AFTER UPDATE ON `Adres` 
    FOR EACH ROW BEGIN
        DECLARE SUB INT;
        DECLARE email CHAR(255);
        
        IF NEW.Klantid IS NOT NULL THEN    
            
            SELECT Emailadres INTO email FROM Klanten WHERE Klantid = NEW.Klantid;
            SELECT COUNT(*) INTO SUB FROM Klantmailinglist WHERE Klantid = NEW.Klantid AND Mailinglistid = 1;
            
            IF SUB > 0 THEN
                REPLACE INTO KlantMailinglistLog VALUES ( NOW(), NEW.Klantid, email, 1, 1, 0 );
            END IF;
            
        END IF;
    END */;;
DELIMITER ;

--
-- Table structure for table `Adressen`
--

CREATE TABLE `Adressen` (
  `Adresid` int(11) NOT NULL AUTO_INCREMENT,
  `Factuurid` int(11) NOT NULL DEFAULT '0',
  `Afleverid` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Adresid`),
  KEY `i1` (`Factuurid`),
  KEY `i2` (`Afleverid`)
) ENGINE=InnoDB AUTO_INCREMENT=2029 DEFAULT CHARSET=latin1;

--
-- Table structure for table `AffiliatePartners`
--

CREATE TABLE `AffiliatePartners` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Siteid` int(11) NOT NULL DEFAULT '1',
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `__Autuerid` int(11) DEFAULT '0',
  `Percentage` int(3) DEFAULT NULL,
  `IsActive` tinyint(1) DEFAULT '1',
  `Periode` int(3) DEFAULT '1',
  `FeedbackActive` tinyint(1) DEFAULT '1',
  `LinkActive` tinyint(1) DEFAULT '0',
  `KlantidBestellingen` tinyint(1) DEFAULT '0',
  `AantalEmails` int(11) DEFAULT '0',
  `__klantid` int(11) DEFAULT '0',
  PRIMARY KEY (`Id`),
  KEY `Siteid` (`Siteid`),
  KEY `Klantid` (`Klantid`)
) ENGINE=InnoDB AUTO_INCREMENT=319 DEFAULT CHARSET=latin1;

--
-- Table structure for table `Affiliates`
--

CREATE TABLE `Affiliates` (
  `Affiliateid` int(11) NOT NULL AUTO_INCREMENT,
  `Affiliatepartnerid` int(11) NOT NULL DEFAULT '0',
  `URL` varchar(200) DEFAULT NULL,
  `Omschrijving` varchar(200) DEFAULT NULL,
  `GeenPorto` tinyint(4) DEFAULT '0',
  `EigenTemplate` tinyint(4) DEFAULT '0',
  `Header` longtext,
  `Footer` longtext,
  `Wachtwoord` varchar(255) DEFAULT NULL,
  `HeaderURL` mediumtext,
  `FooterURL` mediumtext,
  `LastFetched` datetime NOT NULL,
  `voorLogin` text COMMENT 'Tekst boven loginform',
  `naLogin` text COMMENT 'tekst onder loginform',
  `voorBevestiging` text COMMENT 'Tekst boven bevestiging',
  `naBevestiging` text COMMENT 'Tekst onder bevestiging',
  `voorBedankt` text COMMENT 'Tekst voor de bedanktekst',
  `naBedankt` text COMMENT 'Tekst na de bedanktekst',
  `homepage` varchar(200) DEFAULT NULL COMMENT 'Alternatieve homepage',
  PRIMARY KEY (`Affiliateid`),
  KEY `Affiliatepartnerid` (`Affiliatepartnerid`)
) ENGINE=InnoDB AUTO_INCREMENT=432 DEFAULT CHARSET=latin1;

--
-- Table structure for table `AuteurKlanten`
--

CREATE TABLE `AuteurKlanten` (
  `Auteurid` int(11) NOT NULL,
  `Klantid` int(11) NOT NULL,
  PRIMARY KEY (`Klantid`),
  UNIQUE KEY `Auteurid` (`Auteurid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BTemp`
--

CREATE TABLE `BTemp` (
  `Ean` char(13) DEFAULT NULL,
  `BestellingId` int(11) DEFAULT NULL,
  `Aantal` int(11) DEFAULT NULL,
  KEY `Ean` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Backorders`
--

CREATE TABLE `Backorders` (
  `Id` int(11) NOT NULL,
  `DTAanmaak` datetime NOT NULL,
  `DTWijziging` datetime NOT NULL,
  `Geleverd` int(11) NOT NULL,
  `Backorder` int(11) NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `BannerLog`
--

CREATE TABLE `BannerLog` (
  `Datum` date DEFAULT NULL,
  `Naam` varchar(30) DEFAULT NULL,
  `Count` int(11) DEFAULT NULL,
  UNIQUE KEY `Datum` (`Datum`,`Naam`),
  KEY `Naam` (`Naam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BatchBestellingenLog`
--

CREATE TABLE `BatchBestellingenLog` (
  `Id` int(11) NOT NULL,
  `Fout` tinyint(4) DEFAULT '0',
  `Reden` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BatchLog`
--

CREATE TABLE `BatchLog` (
  `BatchId` int(11) NOT NULL,
  `Generatie` int(11) NOT NULL,
  `Initialen` char(3) NOT NULL,
  `BestellingId` int(11) NOT NULL,
  `DT` datetime DEFAULT NULL,
  `Uitgevoerd` tinyint(4) NOT NULL,
  `Backorder` tinyint(4) NOT NULL,
  `Alinexact` tinyint(4) NOT NULL,
  `Fout` tinyint(4) NOT NULL,
  `Reden` mediumtext NOT NULL,
  KEY `BatchId` (`BatchId`),
  KEY `BestellingId` (`BestellingId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BatchOrders`
--

CREATE TABLE `BatchOrders` (
  `BatchId` int(11) NOT NULL DEFAULT '0',
  `OrderId` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`BatchId`,`OrderId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Batches`
--

CREATE TABLE `Batches` (
  `BatchID` int(11) NOT NULL AUTO_INCREMENT,
  `RowCount` int(11) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  PRIMARY KEY (`BatchID`)
) ENGINE=InnoDB AUTO_INCREMENT=102731 DEFAULT CHARSET=latin1;

--
-- Table structure for table `BelevenissenBlog`
--

CREATE TABLE `BelevenissenBlog` (
  `Ean` char(13) NOT NULL DEFAULT '',
  `title` varchar(255) DEFAULT NULL,
  `id` int(11) NOT NULL,
  `publish_date` date DEFAULT NULL,
  PRIMARY KEY (`Ean`,`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BelevenissenBlogTmp`
--

CREATE TABLE `BelevenissenBlogTmp` (
  `Ean` char(13) NOT NULL DEFAULT '',
  `title` varchar(255) DEFAULT NULL,
  `id` int(11) NOT NULL,
  `publish_date` date DEFAULT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestelLijstEANs`
--

CREATE TABLE `BestelLijstEANs` (
  `naam` varchar(50) NOT NULL COMMENT 'N.B. dit is de Bestellijst-naam',
  `EAN` char(13) NOT NULL,
  `Volgorde` int(11) unsigned NOT NULL,
  `skin` enum('comcol','jongbloed','managementboek') NOT NULL DEFAULT 'comcol',
  PRIMARY KEY (`naam`,`Volgorde`,`skin`),
  KEY `bestellijst_ean` (`EAN`),
  CONSTRAINT `ibfk_bestellijst_lijst` FOREIGN KEY (`naam`) REFERENCES `BestelLijsten` (`naam`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BestelLijsten`
--

CREATE TABLE `BestelLijsten` (
  `naam` varchar(50) NOT NULL,
  `actief` tinyint(1) NOT NULL DEFAULT '1',
  `template` varchar(50) NOT NULL DEFAULT 'default',
  `titel` text,
  `inleiding` text,
  `headerplaatje` text,
  `eans` text,
  `promoid` int(11) DEFAULT NULL,
  `meerboekeninfo` tinyint(4) DEFAULT '0',
  `toonbestellijst` tinyint(1) DEFAULT '1',
  `uitleiding` text,
  `emails` text,
  `sorteeropauteur` tinyint(1) DEFAULT '1',
  `affiliateId` int(11) NOT NULL DEFAULT '0',
  `toonsorteeropties` tinyint(1) NOT NULL DEFAULT '1',
  `headerlink` varchar(50) NOT NULL,
  `mobheaderplaatje` text NOT NULL,
  `mobheaderlink` varchar(50) NOT NULL,
  `mobtemplate` varchar(50) NOT NULL DEFAULT 'default',
  `mobinleiding` text,
  `mobuitleiding` text,
  `mobtoonbestellijst` tinyint(1) DEFAULT NULL,
  `mobmeerboekeninfo` tinyint(1) DEFAULT '1',
  `gebruiker` varchar(50) DEFAULT NULL,
  `geldigtot` date DEFAULT NULL,
  `DTaanmaak` datetime DEFAULT NULL,
  `nietinramsj` tinyint(1) DEFAULT '0',
  `DTgewijzigd` datetime DEFAULT NULL,
  `wijziger` varchar(50) DEFAULT NULL,
  `togglealles` tinyint(1) NOT NULL DEFAULT '0',
  `website` enum('Managementboek','Computerboek','Juridischboek') NOT NULL DEFAULT 'Computerboek',
  `skin` enum('comcol','jongbloed') NOT NULL DEFAULT 'comcol',
  PRIMARY KEY (`naam`,`skin`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `BestelLijsten_copy`
--

CREATE TABLE `BestelLijsten_copy` (
  `naam` varchar(50) NOT NULL,
  `titel` text,
  `inleiding` text,
  `eans` text,
  `meerboekeninfo` tinyint(4) DEFAULT '0',
  `toonbestellijst` tinyint(1) DEFAULT '1',
  `uitleiding` text,
  `emails` text,
  `sorteeropauteur` tinyint(1) DEFAULT '1',
  PRIMARY KEY (`naam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Temporary table structure for view `Bestelling`
--

/*!50001 DROP VIEW IF EXISTS `Bestelling`*/;
/*!50001 CREATE TABLE `Bestelling` (
  `Bestellingid` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `Siteid` tinyint NOT NULL,
  `Opmerkingen` tinyint NOT NULL,
  `Achternaam` tinyint NOT NULL,
  `Bedrijfsnaam` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `Afleverid` tinyint NOT NULL,
  `IP` tinyint NOT NULL,
  `ProcessStatus` tinyint NOT NULL,
  `BatchID` tinyint NOT NULL,
  `AffiliateId` tinyint NOT NULL,
  `ReferrerDomain` tinyint NOT NULL,
  `IsClubOrder` tinyint NOT NULL,
  `Betaalmethode` tinyint NOT NULL,
  `Rekeningnummer` tinyint NOT NULL,
  `Uwreferentie` tinyint NOT NULL,
  `Afgerond` tinyint NOT NULL,
  `Herinnering` tinyint NOT NULL,
  `Hash` tinyint NOT NULL,
  `MailedTracktrace` tinyint NOT NULL,
  `SessionId` tinyint NOT NULL,
  `EersteBestelling` tinyint NOT NULL,
  `StemMailVerzonden` tinyint NOT NULL,
  `DTStemMail` tinyint NOT NULL,
  `SamengevoegdMet` tinyint NOT NULL,
  `Factuurid` tinyint NOT NULL,
  `Gebruiker` tinyint NOT NULL,
  `OpmerkingNegeren` tinyint NOT NULL,
  `AutoClassificatie` tinyint NOT NULL,
  `ClassificatieRedenKort` tinyint NOT NULL,
  `ClassificatieReden` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `OrigineelBestellingId` tinyint NOT NULL,
  `ProspectId` tinyint NOT NULL,
  `GeenPortoBerekenen` tinyint NOT NULL,
  `IdealOpen` tinyint NOT NULL,
  `IdealTimeout` tinyint NOT NULL,
  `BetalingsTermijn` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `UitBackorder` tinyint NOT NULL,
  `SiteBestelling` tinyint NOT NULL,
  `DeelLevering` tinyint NOT NULL,
  `DTFactuur` tinyint NOT NULL,
  `DTVerval` tinyint NOT NULL,
  `TeltAls` tinyint NOT NULL,
  `IsOmzet` tinyint NOT NULL,
  `IsCorrectie` tinyint NOT NULL,
  `IsCredit` tinyint NOT NULL,
  `IsOpnieuw` tinyint NOT NULL,
  `ToonBestelling` tinyint NOT NULL,
  `Herkomst` tinyint NOT NULL,
  `VerstuurCompleteOrder` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `BestellingAdressen`
--

CREATE TABLE `BestellingAdressen` (
  `BestellingId` int(11) NOT NULL DEFAULT '0',
  `Klantid` int(11) NOT NULL,
  `AfwijkendFactuurAdres` tinyint(4) NOT NULL,
  `FactuurKlantId` int(11) NOT NULL,
  `FactuurEmailadres` varchar(255) DEFAULT NULL,
  `FactuurBedrijfsnaam` varchar(255) NOT NULL,
  `FactuurBedrijfsnaam2` varchar(255) NOT NULL,
  `FactuurAfdeling` varchar(255) NOT NULL,
  `FactuurGeslacht` varchar(5) NOT NULL,
  `FactuurInitialen` varchar(10) NOT NULL,
  `FactuurAchternaam` varchar(255) NOT NULL,
  `FactuurStraatnaam` varchar(255) NOT NULL,
  `FactuurHuisnummer` varchar(255) NOT NULL,
  `FactuurHuisnummerToevoeging` varchar(255) NOT NULL,
  `FactuurPostcode` varchar(255) NOT NULL,
  `FactuurPlaatsnaam` varchar(255) NOT NULL,
  `FactuurLand` varchar(50) NOT NULL DEFAULT 'Nederland',
  `AfwijkendVerzendAdres` varchar(255) NOT NULL,
  `VerzendKlantId` int(11) NOT NULL,
  `VerzendBedrijfsnaam` varchar(255) NOT NULL,
  `VerzendBedrijfsnaam2` varchar(255) NOT NULL,
  `VerzendAfdeling` varchar(255) NOT NULL,
  `VerzendGeslacht` varchar(5) NOT NULL,
  `VerzendInitialen` varchar(10) NOT NULL,
  `VerzendAchternaam` varchar(255) NOT NULL,
  `VerzendStraatnaam` varchar(255) NOT NULL,
  `VerzendHuisnummer` varchar(255) NOT NULL,
  `VerzendHuisnummerToevoeging` varchar(255) NOT NULL,
  `VerzendPostcode` varchar(255) NOT NULL,
  `VerzendPlaatsnaam` varchar(255) NOT NULL,
  `VerzendLand` varchar(50) NOT NULL DEFAULT 'Nederland',
  `VerzendNietBijBuren` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`BestellingId`),
  KEY `Klantid` (`Klantid`),
  KEY `VerzendKlantId` (`VerzendKlantId`),
  KEY `FactuurKlantId` (`FactuurKlantId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BestellingAll`
--

CREATE TABLE `BestellingAll` (
  `Bestellingid` int(11) NOT NULL AUTO_INCREMENT,
  `Klantid` int(11) DEFAULT NULL,
  `Siteid` int(11) DEFAULT NULL,
  `Opmerkingen` mediumblob,
  `Achternaam` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam` varchar(200) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Afleverid` int(11) DEFAULT NULL,
  `IP` varchar(15) DEFAULT NULL,
  `ProcessStatus` enum('nieuw','batch','email') NOT NULL DEFAULT 'nieuw',
  `BatchID` int(11) NOT NULL DEFAULT '0',
  `AffiliateId` int(11) DEFAULT '0',
  `ReferrerDomain` varchar(200) DEFAULT NULL,
  `IsClubOrder` tinyint(4) DEFAULT '0',
  `Betaalmethode` char(1) DEFAULT 'A',
  `Rekeningnummer` char(18) DEFAULT NULL,
  `Uwreferentie` varchar(30) DEFAULT NULL,
  `Afgerond` tinyint(4) NOT NULL,
  `Herinnering` tinyint(4) NOT NULL,
  `Hash` char(64) DEFAULT NULL,
  `MailedTracktrace` tinyint(4) NOT NULL DEFAULT '0',
  `SessionId` int(11) DEFAULT NULL,
  `EersteBestelling` tinyint(1) NOT NULL DEFAULT '0',
  `StemMailVerzonden` tinyint(4) NOT NULL DEFAULT '0',
  `DTStemMail` datetime DEFAULT NULL,
  `SamengevoegdMet` int(11) NOT NULL,
  `Factuurid` bigint(20) NOT NULL,
  `Gebruiker` char(2) NOT NULL,
  `OpmerkingNegeren` tinyint(4) DEFAULT '0',
  `AutoClassificatie` enum('nieuw','automatisch','handmatig') NOT NULL,
  `ClassificatieRedenKort` varchar(255) NOT NULL,
  `ClassificatieReden` varchar(255) NOT NULL,
  `Geexporteerd` tinyint(4) DEFAULT '0',
  `OrigineelBestellingId` int(11) NOT NULL,
  `ProspectId` int(11) NOT NULL,
  `GeenPortoBerekenen` tinyint(4) NOT NULL,
  `IdealOpen` tinyint(4) NOT NULL,
  `IdealTimeout` datetime NOT NULL,
  `BetalingsTermijn` int(11) NOT NULL DEFAULT '14',
  `Geannuleerd` tinyint(4) DEFAULT '0',
  `UitBackorder` tinyint(4) NOT NULL DEFAULT '0',
  `SiteBestelling` tinyint(4) NOT NULL DEFAULT '0',
  `DeelLevering` tinyint(4) NOT NULL DEFAULT '0',
  `DTFactuur` date DEFAULT NULL,
  `DTVerval` date DEFAULT NULL,
  `TeltAls` tinyint(4) NOT NULL DEFAULT '1',
  `IsOmzet` tinyint(4) NOT NULL DEFAULT '0',
  `IsCorrectie` tinyint(4) NOT NULL DEFAULT '0',
  `IsCredit` tinyint(4) NOT NULL DEFAULT '0',
  `IsOpnieuw` tinyint(4) NOT NULL DEFAULT '0',
  `ToonBestelling` tinyint(4) NOT NULL DEFAULT '1',
  `Herkomst` enum('Website','MARI','Admin','iOS','Android','NCOI','ABO') NOT NULL DEFAULT 'Website',
  `VerstuurCompleteOrder` tinyint(4) NOT NULL DEFAULT '0',
  `ICBestelling` tinyint(4) NOT NULL DEFAULT '0',
  `KopKostenplaats` varchar(255) DEFAULT NULL,
  `DTParkerenTot` date DEFAULT NULL,
  PRIMARY KEY (`Bestellingid`),
  KEY `Klantid` (`Klantid`),
  KEY `Afleverid` (`Afleverid`),
  KEY `ReferrerDomain` (`ReferrerDomain`),
  KEY `AffiliateId` (`AffiliateId`),
  KEY `BatchID` (`BatchID`,`Afgerond`),
  KEY `DT_Index` (`DT`,`Afgerond`,`BatchID`),
  KEY `NewIndex1` (`SessionId`),
  KEY `NewIndex2` (`Factuurid`),
  KEY `IP` (`IP`(11)),
  KEY `NewIndex3` (`OrigineelBestellingId`),
  KEY `NewIndex4` (`Herkomst`),
  KEY `NewIndex5` (`Afgerond`,`DT`),
  KEY `AutoClassificatie` (`AutoClassificatie`,`Geexporteerd`,`Bestellingid`),
  KEY `IdealOpen` (`IdealOpen`),
  KEY `OrigineelBestellingId` (`OrigineelBestellingId`),
  KEY `ProcessStatus` (`Afgerond`,`ProcessStatus`,`Geexporteerd`)
) ENGINE=InnoDB AUTO_INCREMENT=270582 DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `before_insert_bestellingAll` BEFORE INSERT ON `BestellingAll` 
    FOR EACH ROW BEGIN
	
	 DECLARE myVerstuurCompleteOrderDefault INT(1) DEFAULT 0;
	 IF NEW.Klantid IS NOT NULL AND NEW.Klantid > 0 THEN
		SELECT 
			VerstuurCompleteOrderDefault 
			into myVerstuurCompleteOrderDefault 
			FROM Klanten WHERE Klantid=NEW.Klantid;
		SET NEW.VerstuurCompleteOrder = myVerstuurCompleteOrderDefault;	 				 			
	 EnD IF;
	
	 IF NEW.Herkomst = '' THEN 
		SET NEW.Herkomst = 'Website';
	 END IF;
	 
	 IF NEW.ProcessStatus = '' THEN
		SET NEW.ProcessStatus = 'nieuw';
	 END IF;
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_insert_bestellingAll` AFTER INSERT ON `BestellingAll` 
    FOR EACH ROW BEGIN
	
	INSERT IGNORE INTO BestellingStatus SET 
		BestellingId = NEW.Bestellingid,
		StatusId = 1,
		Resultaat = 'gelukt',
		Gebruiker = NEW.Gebruiker,
		DT = NOW();
	INSERT IGNORE INTO OrderkopStatusPlat ( BestellingId ) VALUES ( NEW.Bestellingid );
	
	CALL update_bestelling_herkomst( NEW.Bestellingid );
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `before_update_bestellingAll` BEFORE UPDATE ON `BestellingAll` 
    FOR EACH ROW BEGIN
	DECLARE t INT;
	
	IF OLD.Afgerond = 0 AND NEW.Afgerond = 1 THEN
		UPDATE Bestellingen JOIN BestellingenBelofte USING ( Id ) SET VoorraadBijBevestiging = Voorraadbeheer.`beschikbareVoorraad`( Ean ) WHERE Bestellingid = OLD.BestellingId;
		
		IF NEW.BetalingsTermijn = 0 THEN 
			SELECT Betalingsconditie INTO t FROM Klanten WHERE Klantid = NEW.Klantid;
			SET NEW.BetalingsTermijn = LEAST( 7, t );
		END IF;
	END IF;
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `after_update_bestellingAll` AFTER UPDATE ON `BestellingAll` 
    FOR EACH ROW BEGIN
	DECLARE MyId,MyAantal,MyGeexporteerd,MyPrijs,MyIsPromo,MyKortingMP,MyAantalBackorder,MyBackorderOrigineel,MyBackorderReden,MyLineNr,MyGeannuleerd,MyBackorderOrigineelBestellingid INT(11);
	DECLARE MyKortingPercentage,MyKostenMP,MyVastePrijs,MyActiePrijs,MyBTWTarief,MyKortingBedrag,MyKortingBedragExBtw,MyPrijsExBtwExKorting,MyPrijsExBtwIncKorting,MyBedragExBtwExKorting,MyBedragIncBtwExKorting,MyBedragIncBtwIncKorting,MyBedragExBtwIncKorting,MyBedragBTW DECIMAL(10,2);
	DECLARE MyDTOrderregel,MyDTExactExport DATETIME;
	DECLARE MyAuteurnaam,MyEan,MyOmschrijving,MyKortingReden,MyBTWCode,MyBriefCode VARCHAR(255);
	DECLARE huidigeVoorraad INT(11) DEFAULT 0;
	DECLARE myAantalTotaal INT(11) DEFAULT 0;
	DECLARE reserveringMutatie INT(11) DEFAULT 0;
	DECLARE reden VARCHAR(25) DEFAULT 'onbekend';
	DECLARE no_more_rows INT DEFAULT 0;
	DECLARE loop_cntr INT DEFAULT 0;
	DECLARE num_rows INT DEFAULT 0;	
	
	
	DECLARE cur CURSOR FOR SELECT 
		B.Id,B.Auteurnaam,B.Aantal,B.Prijs,B.Ean,B.Omschrijving,B.Geexporteerd,B.KortingPercentage,B.IsPromo,
		B.KortingReden,B.KortingMP,B.KostenMP,B.DTOrderregel,B.VastePrijs,B.ActiePrijs,B.BTWTarief,
		B.BTWCode,B.AantalBackorder,B.BackorderOrigineel,B.BackorderReden,B.BriefCode,B.DTExactExport,
		B.KortingBedrag,B.KortingBedragExBtw,B.PrijsExBtwExKorting,B.PrijsExBtwIncKorting,
		B.BedragExBtwExKorting,B.BedragIncBtwExKorting,B.BedragIncBtwIncKorting,B.BedragBTW,B.LineNr,
		B.Geannuleerd,B.AantalBackorder,B.AantalBackorder+B.Aantal
	FROM Bestellingen B
	WHERE B.Bestellingid = NEW.Bestellingid;	
	
	DECLARE CONTINUE HANDLER FOR NOT FOUND
		SET no_more_rows = 1;
		
	
	IF (OLD.Afgerond = 1 AND  NEW.Afgerond = 0) THEN
		DELETE FROM BestellingStatus WHERE BestellingId = NEW.Bestellingid AND StatusId = 2;
	END IF;
	
	
	IF (OLD.Afgerond = 0 AND  NEW.Afgerond = 1) THEN
		CALL update_kosten_mp( NEW.BestellingId );
		CALL update_bestelling_herkomst( NEW.BestellingId );
		
		UPDATE Klanten SET AutorisatieNodig = 1 WHERE Klantid = NEW.Klantid;
		
		INSERT IGNORE INTO KlantAanbevolenBasis SELECT NEW.Klantid, Ean, NOW(), 'besteld' FROM Bestellingen WHERE BestellingId = NEW.Bestellingid;
		CALL orderregel_status_op_orderid( 2, NEW.BestellingId, 'gelukt' );	
		REPLACE INTO `BestellingStatus` SET 
					BestellingId = NEW.Bestellingid,
					StatusId = 2,
					Resultaat = 'gelukt',
					Gebruiker = @initials,
					DT = NOW();		
			
		
		OPEN cur;
		
		SELECT FOUND_ROWS() INTO num_rows;
		
		
		
		
		
		the_loop: LOOP
			FETCH cur INTO
				MyId,MyAuteurnaam,MyAantal,MyPrijs,MyEan,MyOmschrijving,MyGeexporteerd,MyKortingPercentage,MyIsPromo,
				MyKortingReden,MyKortingMP,MyKostenMP,MyDTOrderregel,MyVastePrijs,MyActiePrijs,MyBTWTarief,
				MyBTWCode,MyAantalBackorder,MyBackorderOrigineel,MyBackorderReden,MyBriefCode,MyDTExactExport,
				MyKortingBedrag,MyKortingBedragExBtw,MyPrijsExBtwExKorting,MyPrijsExBtwIncKorting,
				MyBedragExBtwExKorting,MyBedragIncBtwExKorting,MyBedragIncBtwIncKorting,MyBedragBTW,MyLineNr,
				MyGeannuleerd,myAantalBackorder,myAantalTotaal;
			IF no_more_rows THEN
				CLOSE cur;
				LEAVE the_loop;
			END IF;	
			SET loop_cntr = loop_cntr + 1;			 				
		END LOOP the_loop;					
	END IF;
	
	IF (OLD.Factuurid = 0 AND NEW.Factuurid > 0) THEN
		CALL update_kosten_mp( NEW.BestellingId );	
	
		INSERT IGNORE INTO `BestellingStatus` SET
			BestellingId = NEW.Bestellingid,
			StatusId = 7,
			Resultaat = 'gelukt',
			Gebruiker = @initials,
			DT = NOW();		
			
		CALL orderregel_status_op_orderid( 7, NEW.BestellingId, 'gelukt' );			
	END IF;
	
	
	IF (OLD.Geannuleerd = 0 AND NEW.Geannuleerd = 1) THEN
		
		INSERT IGNORE INTO `BestellingStatus` SET
			BestellingId = NEW.Bestellingid,
			StatusId = 24,
			Resultaat = 'gelukt',
			Gebruiker = @initials,
			DT = NOW();		
		
		CALL orderregel_status_op_orderid( 24, NEW.BestellingId, 'gelukt' );
		
		INSERT IGNORE INTO `BestellingStatus` SET
			BestellingId = NEW.Bestellingid,
			StatusId = 33,
			Resultaat = 'gelukt',
			Gebruiker = @initials,
			DT = NOW();		
			
		CALL orderregel_status_op_orderid( 33, NEW.BestellingId, 'gelukt' );			
	END IF;	
    END */;;
DELIMITER ;
ALTER DATABASE `Computerboek_Klanten` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `before_delete_bestellingAll` BEFORE DELETE ON `BestellingAll` 
    FOR EACH ROW BEGIN
	DElETE FROM BestellingControle WHERE BestellingId = OLD.Bestellingid;
    END */;;
DELIMITER ;
ALTER DATABASE `Computerboek_Klanten` CHARACTER SET utf8 COLLATE utf8_general_ci ;

--
-- Table structure for table `BestellingAllLog`
--

CREATE TABLE `BestellingAllLog` (
  `logId` int(11) NOT NULL AUTO_INCREMENT,
  `LogGebruiker` char(5) DEFAULT NULL,
  `DTLog` datetime DEFAULT NULL,
  `Eerste` tinyint(1) DEFAULT '0',
  `Bestellingid` int(11) NOT NULL DEFAULT '0',
  `Klantid` int(11) DEFAULT NULL,
  `Siteid` int(11) DEFAULT NULL,
  `Opmerkingen` mediumblob,
  `Achternaam` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam` varchar(200) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Afleverid` int(11) DEFAULT NULL,
  `IP` varchar(15) DEFAULT NULL,
  `ProcessStatus` varchar(5) DEFAULT NULL,
  `BatchID` int(11) NOT NULL DEFAULT '0',
  `AffiliateId` int(11) DEFAULT '0',
  `ReferrerDomain` varchar(200) DEFAULT NULL,
  `IsClubOrder` tinyint(4) DEFAULT '0',
  `Betaalmethode` char(1) DEFAULT 'A',
  `Rekeningnummer` decimal(10,0) DEFAULT '0',
  `Uwreferentie` varchar(30) DEFAULT NULL,
  `Afgerond` tinyint(4) NOT NULL,
  `Herinnering` tinyint(4) NOT NULL,
  `Hash` char(64) DEFAULT NULL,
  `MailedTracktrace` tinyint(4) NOT NULL DEFAULT '0',
  `SessionId` int(11) DEFAULT NULL,
  `EersteBestelling` tinyint(1) NOT NULL DEFAULT '0',
  `StemMailVerzonden` tinyint(4) NOT NULL DEFAULT '0',
  `DTStemMail` datetime DEFAULT NULL,
  `SamengevoegdMet` int(11) NOT NULL,
  `Factuurid` bigint(20) NOT NULL,
  `Gebruiker` char(2) NOT NULL,
  `OpmerkingNegeren` tinyint(4) DEFAULT '0',
  `AutoClassificatie` enum('nieuw','automatisch','handmatig') NOT NULL,
  `ClassificatieRedenKort` varchar(255) NOT NULL,
  `ClassificatieReden` varchar(255) NOT NULL,
  `Geexporteerd` tinyint(4) DEFAULT '0',
  `OrigineelBestellingId` int(11) NOT NULL,
  `ProspectId` int(11) NOT NULL,
  `GeenPortoBerekenen` tinyint(4) NOT NULL DEFAULT '0',
  `IdealOpen` tinyint(4) NOT NULL,
  `IdealTimeout` datetime NOT NULL,
  `BetalingsTermijn` int(11) NOT NULL DEFAULT '14',
  `Geannuleerd` tinyint(4) DEFAULT '0',
  `UitBackorder` tinyint(4) NOT NULL DEFAULT '0',
  `SiteBestelling` tinyint(4) NOT NULL DEFAULT '0',
  `DeelLevering` tinyint(4) NOT NULL DEFAULT '0',
  `Bevestigd` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`logId`),
  KEY `Bestellingid` (`Bestellingid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED;

--
-- Table structure for table `BestellingAllOpmerkingen`
--

CREATE TABLE `BestellingAllOpmerkingen` (
  `BestellingId` int(11) NOT NULL,
  `KlantenServiceOpmerking` mediumtext NOT NULL,
  `Initialen` char(3) NOT NULL,
  `DT` datetime NOT NULL,
  PRIMARY KEY (`BestellingId`),
  CONSTRAINT `BestellingAllOpmerkingen_ibfk_1` FOREIGN KEY (`BestellingId`) REFERENCES `BestellingAll` (`Bestellingid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingAll_kopie`
--

CREATE TABLE `BestellingAll_kopie` (
  `Bestellingid` int(11) NOT NULL AUTO_INCREMENT,
  `Klantid` int(11) DEFAULT NULL,
  `Siteid` int(11) DEFAULT NULL,
  `Opmerkingen` mediumblob,
  `Achternaam` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam` varchar(200) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Afleverid` int(11) DEFAULT NULL,
  `IP` varchar(15) DEFAULT NULL,
  `ProcessStatus` varchar(5) DEFAULT NULL,
  `BatchID` int(11) NOT NULL DEFAULT '0',
  `AffiliateId` int(11) DEFAULT '0',
  `ReferrerDomain` varchar(200) DEFAULT NULL,
  `IsClubOrder` tinyint(4) DEFAULT '0',
  `Betaalmethode` char(1) DEFAULT 'A',
  `Rekeningnummer` decimal(10,0) DEFAULT '0',
  `Uwreferentie` varchar(30) DEFAULT NULL,
  `Afgerond` tinyint(4) NOT NULL,
  `Herinnering` tinyint(4) NOT NULL,
  `Hash` char(64) DEFAULT NULL,
  `MailedTracktrace` tinyint(4) NOT NULL DEFAULT '0',
  `SessionId` int(11) DEFAULT NULL,
  `EersteBestelling` tinyint(1) NOT NULL DEFAULT '0',
  `StemMailVerzonden` tinyint(4) NOT NULL DEFAULT '0',
  `DTStemMail` datetime DEFAULT NULL,
  `SamengevoegdMet` int(11) NOT NULL,
  `Factuurid` bigint(20) NOT NULL,
  `Gebruiker` char(2) NOT NULL,
  `OpmerkingNegeren` tinyint(4) DEFAULT '0',
  `AutoClassificatie` enum('nieuw','automatisch','handmatig') NOT NULL,
  `ClassificatieRedenKort` varchar(255) NOT NULL,
  `ClassificatieReden` varchar(255) NOT NULL,
  `Geexporteerd` tinyint(4) DEFAULT '0',
  `OrigineelBestellingId` int(11) NOT NULL,
  `ProspectId` int(11) NOT NULL,
  `GeenPortoBerekenen` tinyint(4) NOT NULL,
  `IdealOpen` tinyint(4) NOT NULL,
  `IdealTimeout` datetime NOT NULL,
  `BetalingsTermijn` int(11) NOT NULL DEFAULT '14',
  `Geannuleerd` tinyint(4) DEFAULT '0',
  `UitBackorder` tinyint(4) NOT NULL DEFAULT '0',
  `SiteBestelling` tinyint(4) NOT NULL DEFAULT '0',
  `DeelLevering` tinyint(4) NOT NULL DEFAULT '0',
  `DTFactuur` date DEFAULT NULL,
  `DTVerval` date DEFAULT NULL,
  PRIMARY KEY (`Bestellingid`),
  KEY `Klantid` (`Klantid`),
  KEY `Siteid` (`Siteid`),
  KEY `Afleverid` (`Afleverid`),
  KEY `ReferrerDomain` (`ReferrerDomain`),
  KEY `Afgerond` (`Afgerond`),
  KEY `AffiliateId` (`AffiliateId`),
  KEY `BatchID` (`BatchID`,`Afgerond`),
  KEY `DT_Index` (`DT`,`Afgerond`,`BatchID`),
  KEY `NewIndex1` (`SessionId`),
  KEY `ProcessStatus` (`ProcessStatus`,`Afgerond`),
  KEY `NewIndex2` (`Factuurid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingControle`
--

CREATE TABLE `BestellingControle` (
  `BestellingId` int(11) NOT NULL,
  `Aangemaakt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTAangemaakt` datetime DEFAULT NULL,
  `AutorisatieMislukt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTAutorisatieMislukt` datetime DEFAULT NULL,
  `AutorisatieGelukt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTAutorisatieGelukt` datetime DEFAULT NULL,
  `AutomatischVerwerkt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTAutomatischVerwerkt` datetime DEFAULT NULL,
  `HandmatigeVerwerking` enum('gelukt','mislukt') DEFAULT NULL,
  `DTHandmatigeVerwerking` datetime DEFAULT NULL,
  `FactuurGemaakt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTFactuurGemaakt` datetime DEFAULT NULL,
  `ExactExport` enum('gelukt','mislukt') DEFAULT NULL,
  `DTExactExport` datetime DEFAULT NULL,
  `ExactVerwerkt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTExactVerwerkt` datetime DEFAULT NULL,
  `ExactControleGelukt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTExactControleGelukt` datetime DEFAULT NULL,
  `ExactControleMislukt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTExactControleMislukt` datetime DEFAULT NULL,
  `ExactFactuurVerwerkt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTExactFactuurVerwerkt` datetime DEFAULT NULL,
  `InpakkenGestart` enum('gelukt','mislukt') DEFAULT NULL,
  `DTInpakkenGestart` datetime DEFAULT NULL,
  `InpakkenAfgerond` enum('gelukt','mislukt') DEFAULT NULL,
  `DTInpakkenAfgerond` datetime DEFAULT NULL,
  `TntOpgehaald` enum('gelukt','mislukt') DEFAULT NULL,
  `DTTntOpgehaald` datetime DEFAULT NULL,
  `Betaald` enum('gelukt','mislukt') DEFAULT NULL,
  `DTBetaald` datetime DEFAULT NULL,
  `Afgerond` enum('gelukt','mislukt') DEFAULT NULL,
  `DTAfgerond` datetime DEFAULT NULL,
  `RetourOntvangen` enum('gelukt','mislukt') DEFAULT NULL,
  `DTRetourOntvangen` datetime DEFAULT NULL,
  `Geannuleerd` enum('gelukt','mislukt') DEFAULT NULL,
  `DTGeannuleerd` datetime DEFAULT NULL,
  `Gekrediteerd` enum('gelukt','mislukt') DEFAULT NULL,
  `DTGekrediteerd` datetime DEFAULT NULL,
  PRIMARY KEY (`BestellingId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingHerkomst`
--

CREATE TABLE `BestellingHerkomst` (
  `BestellingId` int(11) NOT NULL,
  `BestellingHerkomst` enum('Organic','Adwords','Affiliate','Direct','Extern','Nieuwsbrief','Klantenservice','OrganicDirect','AdwordsDirect') DEFAULT NULL,
  `Kanaal` enum('Website','Mobile','MARI','NCOI','ABO','Tablet','IOS App','Android App') DEFAULT NULL,
  `Keyword` varchar(255) DEFAULT NULL,
  `Gclid` varchar(255) DEFAULT NULL,
  `Nieuwsbriefid` int(11) DEFAULT NULL,
  `UserAgent` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`BestellingId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Temporary table structure for view `BestellingInProgress`
--

/*!50001 DROP VIEW IF EXISTS `BestellingInProgress`*/;
/*!50001 CREATE TABLE `BestellingInProgress` (
  `Bestellingid` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `Siteid` tinyint NOT NULL,
  `Opmerkingen` tinyint NOT NULL,
  `Achternaam` tinyint NOT NULL,
  `Bedrijfsnaam` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `Afleverid` tinyint NOT NULL,
  `IP` tinyint NOT NULL,
  `ProcessStatus` tinyint NOT NULL,
  `BatchID` tinyint NOT NULL,
  `AffiliateId` tinyint NOT NULL,
  `ReferrerDomain` tinyint NOT NULL,
  `Betaalmethode` tinyint NOT NULL,
  `Rekeningnummer` tinyint NOT NULL,
  `Uwreferentie` tinyint NOT NULL,
  `Afgerond` tinyint NOT NULL,
  `Herinnering` tinyint NOT NULL,
  `Hash` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `BestellingInterneOpmerkingen`
--

CREATE TABLE `BestellingInterneOpmerkingen` (
  `BestellingId` int(11) NOT NULL,
  `Gebruiker` char(3) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Opmerking` mediumtext,
  `Type` enum('opmerking','redenAnnulering') NOT NULL,
  PRIMARY KEY (`BestellingId`,`Type`),
  KEY `BestellingId` (`BestellingId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingStatus`
--

CREATE TABLE `BestellingStatus` (
  `StatusId` int(11) NOT NULL,
  `BestellingId` int(11) NOT NULL,
  `Resultaat` enum('gelukt','mislukt') DEFAULT NULL,
  `Gebruiker` char(2) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  KEY `NewIndex1` (`DT`),
  KEY `NewIndex2` (`BestellingId`,`StatusId`),
  KEY `NewIndex4` (`StatusId`,`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`thijs`@`%`*/ /*!50003 TRIGGER after_insert_bestellingStatus AFTER INSERT ON BestellingStatus
FOR EACH ROW BEGIN
	
	IF IFNULL( @skip_orderkopstatus_update, 0 ) = 0
	THEN
		SET @skip_orderkopstatus_update = 1;
		IF NEW.StatusId =  2 THEN UPDATE OrderkopStatusPlat SET bevestigd = 1                        WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId =  5 THEN UPDATE OrderkopStatusPlat SET gefactureerd = 1                     WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId =  6 THEN UPDATE OrderkopStatusPlat SET is_geparkeerd = 1                    WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId =  8 THEN UPDATE OrderkopStatusPlat SET exact_export = 1                     WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId =  9 THEN UPDATE OrderkopStatusPlat SET exact_controle = 1                   WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 15 THEN UPDATE OrderkopStatusPlat SET ingepakt = 1                         WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 16
		OR NEW.StatusId = 24 THEN UPDATE OrderkopStatusPlat SET geannuleerd = 1                      WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 21 THEN UPDATE OrderkopStatusPlat SET betaald = 1                          WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 23 THEN UPDATE OrderkopStatusPlat SET openstaande_post_aangemaakt = 1      WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 25 THEN UPDATE OrderkopStatusPlat SET in_backorder_gezet = 1               WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 29 THEN UPDATE OrderkopStatusPlat SET gecrediteerd = 1                     WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 30 THEN UPDATE OrderkopStatusPlat SET volledig_geleverd_backorder = 1      WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 32 THEN UPDATE OrderkopStatusPlat SET niet_inpakken = 1                    WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 33 THEN UPDATE OrderkopStatusPlat SET afgesloten = 1                       WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 36 THEN UPDATE OrderkopStatusPlat SET voorgemeld_bij_postnl = 1            WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 37 THEN UPDATE OrderkopStatusPlat SET pakket_afgeleverd_volgens_postnl = 1 WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 41 THEN UPDATE OrderkopStatusPlat SET factuur_sturen_niet_nodig = 1        WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 45 THEN UPDATE OrderkopStatusPlat SET inpakbevestiging_verzonden = 1       WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 50 THEN UPDATE OrderkopStatusPlat SET enquete_verstuurd = 1                WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 52 THEN UPDATE OrderkopStatusPlat SET enquete_ingevuld = 1                 WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 53 THEN UPDATE OrderkopStatusPlat SET opmerking_ingevuld = 1               WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 54 THEN UPDATE OrderkopStatusPlat SET opmerking_gemaild = 1                WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 55 THEN UPDATE OrderkopStatusPlat SET opmerking_verwerkt = 1               WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 56 THEN UPDATE OrderkopStatusPlat SET contact_opnemen = 1                  WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 57 THEN UPDATE OrderkopStatusPlat SET contact_opgenomen = 1                WHERE BestellingId = NEW.BestellingId; END IF;
		
		SET @skip_orderkopstatus_update = 0;
	END IF;
	
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`thijs`@`%`*/ /*!50003 TRIGGER after_delete_bestellingStatus AFTER DELETE ON BestellingStatus 
FOR EACH ROW BEGIN
	
	IF IFNULL( @skip_orderkopstatus_update, 0 ) = 0
	THEN
		SET @skip_orderkopstatus_update = 1;
		IF OLD.StatusId =  2 THEN UPDATE OrderkopStatusPlat SET bevestigd = 0                        WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId =  5 THEN UPDATE OrderkopStatusPlat SET gefactureerd = 0                     WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId =  6 THEN UPDATE OrderkopStatusPlat SET is_geparkeerd = 0                    WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId =  8 THEN UPDATE OrderkopStatusPlat SET exact_export = 0                     WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId =  9 THEN UPDATE OrderkopStatusPlat SET exact_controle = 0                   WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 15 THEN UPDATE OrderkopStatusPlat SET ingepakt = 0                         WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 16
		OR OLD.StatusId = 24 THEN UPDATE OrderkopStatusPlat SET geannuleerd = 0                      WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 21 THEN UPDATE OrderkopStatusPlat SET betaald = 0                          WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 23 THEN UPDATE OrderkopStatusPlat SET openstaande_post_aangemaakt = 0      WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 25 THEN UPDATE OrderkopStatusPlat SET in_backorder_gezet = 0               WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 29 THEN UPDATE OrderkopStatusPlat SET gecrediteerd = 0                     WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 30 THEN UPDATE OrderkopStatusPlat SET volledig_geleverd_backorder = 0      WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 32 THEN UPDATE OrderkopStatusPlat SET niet_inpakken = 0                    WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 33 THEN UPDATE OrderkopStatusPlat SET afgesloten = 0                       WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 36 THEN UPDATE OrderkopStatusPlat SET voorgemeld_bij_postnl = 0            WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 37 THEN UPDATE OrderkopStatusPlat SET pakket_afgeleverd_volgens_postnl = 0 WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 41 THEN UPDATE OrderkopStatusPlat SET factuur_sturen_niet_nodig = 0        WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 45 THEN UPDATE OrderkopStatusPlat SET inpakbevestiging_verzonden = 0       WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 50 THEN UPDATE OrderkopStatusPlat SET enquete_verstuurd = 0                WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 52 THEN UPDATE OrderkopStatusPlat SET enquete_ingevuld = 0                 WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 53 THEN UPDATE OrderkopStatusPlat SET opmerking_ingevuld = 0               WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 54 THEN UPDATE OrderkopStatusPlat SET opmerking_gemaild = 0                WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 55 THEN UPDATE OrderkopStatusPlat SET opmerking_verwerkt = 0               WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 56 THEN UPDATE OrderkopStatusPlat SET contact_opnemen = 0                  WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 57 THEN UPDATE OrderkopStatusPlat SET contact_opgenomen = 0                WHERE BestellingId = OLD.BestellingId; END IF;
		
		SET @skip_orderkopstatus_update = 0;
	END IF;
	
END */;;
DELIMITER ;

--
-- Temporary table structure for view `BestellingStatusPlat`
--

/*!50001 DROP VIEW IF EXISTS `BestellingStatusPlat`*/;
/*!50001 CREATE TABLE `BestellingStatusPlat` (
  `BestellingId` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `gefactureerd` tinyint NOT NULL,
  `dt_gefactureerd` tinyint NOT NULL,
  `is_geparkeerd` tinyint NOT NULL,
  `dt_is_geparkeerd` tinyint NOT NULL,
  `factuurnummer_toegewezen` tinyint NOT NULL,
  `dt_factuurnummer_toegewezen` tinyint NOT NULL,
  `etiket_geprint` tinyint NOT NULL,
  `dt_etiket_geprint` tinyint NOT NULL,
  `ingepakt` tinyint NOT NULL,
  `dt_ingepakt` tinyint NOT NULL,
  `factuur_geprint` tinyint NOT NULL,
  `dt_factuur_geprint` tinyint NOT NULL,
  `pakketlabel_geprint` tinyint NOT NULL,
  `dt_pakketlabel_geprint` tinyint NOT NULL,
  `brieflabel_geprint` tinyint NOT NULL,
  `dt_brieflabel_geprint` tinyint NOT NULL,
  `betaald_via_ideal` tinyint NOT NULL,
  `dt_betaald_via_ideal` tinyint NOT NULL,
  `betaald` tinyint NOT NULL,
  `dt_betaald` tinyint NOT NULL,
  `in_backorder_gezet` tinyint NOT NULL,
  `dt_in_backorder_gezet` tinyint NOT NULL,
  `gecrediteerd` tinyint NOT NULL,
  `dt_gecrediteerd` tinyint NOT NULL,
  `volledig_geleverd_backorder` tinyint NOT NULL,
  `dt_volledig_geleverd_backorder` tinyint NOT NULL,
  `samengevoegd_met_eerdere_order` tinyint NOT NULL,
  `dt_samengevoegd_met_eerdere_order` tinyint NOT NULL,
  `niet_inpakken` tinyint NOT NULL,
  `dt_niet_inpakken` tinyint NOT NULL,
  `afgesloten` tinyint NOT NULL,
  `dt_afgesloten` tinyint NOT NULL,
  `factuur_per_mail_verzonden` tinyint NOT NULL,
  `dt_factuur_per_mail_verzonden` tinyint NOT NULL,
  `voorgemeld_bij_postnl` tinyint NOT NULL,
  `dt_voorgemeld_bij_postnl` tinyint NOT NULL,
  `pakket_afgeleverd_volgens_postnl` tinyint NOT NULL,
  `dt_pakket_afgeleverd_volgens_postnl` tinyint NOT NULL,
  `pakbon_geprint` tinyint NOT NULL,
  `dt_pakbon_geprint` tinyint NOT NULL,
  `uit_backorder_gehaald` tinyint NOT NULL,
  `dt_uit_backorder_gehaald` tinyint NOT NULL,
  `factuur_sturen_niet_nodig` tinyint NOT NULL,
  `dt_factuur_sturen_niet_nodig` tinyint NOT NULL,
  `wacht_op_compleet` tinyint NOT NULL,
  `dt_wacht_op_compleet` tinyint NOT NULL,
  `inpakbevestiging_verzonden` tinyint NOT NULL,
  `dt_inpakbevestiging_verzonden` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `BestellingStatussen`
--

CREATE TABLE `BestellingStatussen` (
  `StatusId` int(11) NOT NULL AUTO_INCREMENT,
  `Naam` varchar(50) DEFAULT NULL,
  `Omschrijving` varchar(255) DEFAULT NULL,
  `Volgorde` int(11) NOT NULL DEFAULT '0',
  `ToonAlsOpenOrder` int(1) DEFAULT '0',
  `VanKlantenservice` tinyint(4) DEFAULT '0',
  `VanWacht` tinyint(4) DEFAULT '0',
  `VanMagazijn` tinyint(4) DEFAULT '0',
  `VanBoekhouding` tinyint(4) DEFAULT '0',
  `VanControl` tinyint(4) DEFAULT '0',
  `MariTab1` tinyint(4) DEFAULT '0',
  PRIMARY KEY (`StatusId`),
  KEY `NewIndex1` (`Volgorde`)
) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=latin1;

--
-- Temporary table structure for view `Bestelling_met_totaal`
--

/*!50001 DROP VIEW IF EXISTS `Bestelling_met_totaal`*/;
/*!50001 CREATE TABLE `Bestelling_met_totaal` (
  `Bestellingid` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `Siteid` tinyint NOT NULL,
  `Opmerkingen` tinyint NOT NULL,
  `Achternaam` tinyint NOT NULL,
  `Bedrijfsnaam` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `Afleverid` tinyint NOT NULL,
  `IP` tinyint NOT NULL,
  `ProcessStatus` tinyint NOT NULL,
  `BatchID` tinyint NOT NULL,
  `AffiliateId` tinyint NOT NULL,
  `ReferrerDomain` tinyint NOT NULL,
  `IsClubOrder` tinyint NOT NULL,
  `Betaalmethode` tinyint NOT NULL,
  `Rekeningnummer` tinyint NOT NULL,
  `Uwreferentie` tinyint NOT NULL,
  `Afgerond` tinyint NOT NULL,
  `Herinnering` tinyint NOT NULL,
  `Hash` tinyint NOT NULL,
  `MailedTracktrace` tinyint NOT NULL,
  `SessionId` tinyint NOT NULL,
  `EersteBestelling` tinyint NOT NULL,
  `StemMailVerzonden` tinyint NOT NULL,
  `DTStemMail` tinyint NOT NULL,
  `SamengevoegdMet` tinyint NOT NULL,
  `Factuurid` tinyint NOT NULL,
  `Gebruiker` tinyint NOT NULL,
  `OpmerkingNegeren` tinyint NOT NULL,
  `AutoClassificatie` tinyint NOT NULL,
  `ClassificatieRedenKort` tinyint NOT NULL,
  `ClassificatieReden` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `OrigineelBestellingId` tinyint NOT NULL,
  `ProspectId` tinyint NOT NULL,
  `GeenPortoBerekenen` tinyint NOT NULL,
  `IdealOpen` tinyint NOT NULL,
  `IdealTimeout` tinyint NOT NULL,
  `BetalingsTermijn` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Herkomst` tinyint NOT NULL,
  `bestelling_totaal` tinyint NOT NULL,
  `bestelling_aantal` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `Bestellingen`
--

CREATE TABLE `Bestellingen` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Auteurnaam` varchar(200) DEFAULT NULL,
  `Aantal` int(11) DEFAULT NULL,
  `Prijs` int(11) DEFAULT NULL,
  `Bestellingid` int(11) DEFAULT NULL,
  `Ean` varchar(13) DEFAULT NULL,
  `Omschrijving` varchar(200) DEFAULT NULL,
  `Geexporteerd` tinyint(4) NOT NULL DEFAULT '0',
  `KortingPercentage` decimal(4,2) NOT NULL,
  `IsPromo` int(11) NOT NULL,
  `KortingReden` char(3) DEFAULT NULL,
  `KortingMP` int(11) DEFAULT '0',
  `KostenMP` decimal(4,2) DEFAULT '0.00',
  `DTOrderregel` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `VastePrijs` decimal(6,2) DEFAULT '0.00',
  `ActiePrijs` decimal(6,2) DEFAULT '0.00',
  `BTWTarief` decimal(3,1) DEFAULT NULL,
  `BTWCode` char(1) DEFAULT '0',
  `AantalBackorder` int(11) DEFAULT '0',
  `BackorderOrigineel` int(11) DEFAULT NULL,
  `BackorderReden` int(11) DEFAULT NULL,
  `BriefCode` varchar(20) DEFAULT NULL,
  `DTExactExport` datetime DEFAULT NULL,
  `KortingBedrag` decimal(10,2) NOT NULL DEFAULT '0.00',
  `KortingBedragExBtw` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragBTW` decimal(10,2) DEFAULT '0.00',
  `LineNr` int(11) NOT NULL,
  `Geannuleerd` tinyint(4) DEFAULT '0',
  `Bijdrage` decimal(10,2) NOT NULL DEFAULT '0.00',
  `OmzetExBtwExKorting` decimal(10,2) NOT NULL DEFAULT '0.00',
  `OmzetExBtwIncKorting` decimal(10,2) NOT NULL DEFAULT '0.00',
  `OmzetIncBtwExKorting` decimal(10,2) NOT NULL DEFAULT '0.00',
  `OmzetIncBtwIncKorting` decimal(10,2) NOT NULL DEFAULT '0.00',
  `StatusId` tinyint(4) DEFAULT '0',
  `FactuurId` int(11) DEFAULT NULL,
  `RegelReferentie` varchar(10) DEFAULT NULL,
  `RegelKostenplaats` varchar(255) DEFAULT NULL,
  `BoekStatusBijBestelling` tinyint(4) DEFAULT NULL,
  `PrijsInkoop` decimal(10,2) NOT NULL DEFAULT '0.00',
  `ICL` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Id`),
  KEY `Bestellingid` (`Bestellingid`),
  KEY `Artikelcode` (`Ean`),
  KEY `backorder` (`BackorderOrigineel`),
  KEY `FactuurId` (`FactuurId`),
  KEY `NewIndex1` (`Id`,`BackorderOrigineel`),
  KEY `NewIndex2` (`AantalBackorder`),
  KEY `NewIndex3` (`StatusId`),
  CONSTRAINT `FK_Bestellingen2` FOREIGN KEY (`Ean`) REFERENCES `ExactArtikelen` (`Code`)
) ENGINE=InnoDB AUTO_INCREMENT=899630 DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `before_insert_bestellingen` BEFORE INSERT ON `Bestellingen` 
FOR EACH ROW BEGIN
	DECLARE ActiePrijs DOUBLE;
	DECLARE VastePrijs DOUBLE;
	DECLARE Korting DOUBLE;
	DECLARE Porto DECIMAL( 10, 2 );
	DECLARE Aantal INT;
	DECLARE Btw CHAR(1);
	DECLARE AantalTBVOmzet INT;
	DECLARE IsOmzet INT;
	
	SELECT IsOmzet INTO IsOmzet FROM BestellingAll WHERE BestellingId = NEW.BestellingId;
	
	SET AantalTBVOmzet = IF( ( IFNULL( NEW.BackorderOrigineel, 0 ) > 0 ) OR ( IsOmzet = 0 ), 0, NEW.Aantal + NEW.AantalBackorder );	
	
	IF NEW.Ean <> 'porto' THEN
		SELECT IFNULL(Prijs,0), IFNULL(IF(((`Aanbiedingsprijs` > 0) AND (CURDATE() >= `Aanbiedingvanaf`) AND (CURDATE() <= IF((IFNULL(`Aanbiedingtotenmet`,0) = 0),CURDATE(),`Aanbiedingtotenmet`))),`Aanbiedingsprijs`,0 ),0), IF( Aangepastekortingmp > 0, Aangepastekortingmp, Kortingmp ),Btwcode_tbv_export INTO VastePrijs,ActiePrijs,Korting,Btw
		FROM Computerboek_Boeken.Boeken WHERE Ean = NEW.Ean;	
	END IF;
	
	IF Btw = '' OR BTW IS NULL THEN
		SELECT IFNULL( BTWCode, '' ) INTO Btw FROM ExactArtikelen WHERE `Code` = NEW.Ean;
	END IF;
	
	IF Btw = '' OR BTW IS NULL THEN
		SET Btw = 4;
	END IF;
	
	SET NEW.BTWCode      = Btw;
	SET NEW.ActiePrijs   = IFNULL(ActiePrijs,0);
	SET NEW.VastePrijs   = IFNULL(VastePrijs,0);
	SET NEW.KortingMP    = IFNULL(Korting,0);
	SET NEW.KortingReden = IFNULL(NEW.KortingReden,'');
	SET NEW.KostenMP     = IFNULL(NEW.KostenMP,0);
	SET NEW.BTWTarief    = 6;
	
	IF( Btw = '4' ) THEN
		SET NEW.BTWTarief = 6;
	ELSEIF( Btw = '0') THEN
		SET NEW.BTWTarief = 0;
	ELSEIF( Btw = '7') THEN
		SET NEW.BTWTarief = 21;
	ELSEIF( Btw = '8') THEN
		SET NEW.BTWTarief = 21;
	ELSEIF( Btw = 'H') THEN
		SET NEW.BTWTarief = 19;
	ELSEIF( Btw = 'I') THEN
		SET NEW.BTWTarief = 19;
	END IF;
	
	IF( NEW.Ean = 'porto' ) THEN
		SET NEW.BTWTarief = 6;
		SET NEW.BTWCode   = '4';
	END IF;
	
	IF( NEW.Ean = 'BONG' OR NEW.Ean = 'IDEAL' ) THEN
		SET NEW.BTWTarief = 0;
		SET NEW.BTWCode   = '0';
	END IF;
	
	IF( Btw = 'H' OR Btw = '7' ) THEN 
		
		SET NEW.PrijsExBtwExKorting     = ROUND( NEW.Prijs * 0.01, 2 );
		SET NEW.PrijsExBtwIncKorting    = ROUND( NEW.Prijs * 0.01 * ((100-NEW.KortingPercentage) * 0.01) , 2 );
		SET NEW.KortingBedragExBTW      = ROUND( NEW.Aantal * ( NEW.Prijs * 0.01 ) * (NEW.KortingPercentage * 0.01) ,2 );
		SET NEW.BedragExBtwExKorting    = ROUND( NEW.Aantal * NEW.Prijs / 100, 2 );
		SET NEW.BedragExBtwIncKorting   = NEW.BedragExBtwExKorting - NEW.KortingBedragExBTW;
		SET NEW.BedragIncBtwExKorting   = ROUND( NEW.BedragExBtwExKorting  * (1 + NEW.BTWTarief/100), 2 );
		SET NEW.KortingBedrag           = ROUND( NEW.BedragIncBtwExKorting * (NEW.KortingPercentage * 0.01), 2 );
		SET NEW.BedragIncBtwIncKorting  = NEW.BedragIncBtwExKorting - NEW.KortingBedrag;
		SET NEW.BedragBTW               = NEW.BedragIncBtwIncKorting - NEW.BedragExBtwIncKorting;
		
		
		SET NEW.OmzetExBtwExKorting     = ROUND( AantalTBVOmzet * NEW.Prijs / 100, 2 );
		SET NEW.OmzetExBtwIncKorting    = NEW.OmzetExBtwExKorting - ROUND( AantalTBVOmzet * ( NEW.Prijs * 0.01 ) * (NEW.KortingPercentage * 0.01) ,2 );
		SET NEW.OmzetIncBtwExKorting    = ROUND( NEW.OmzetExBtwExKorting  * (1 + NEW.BTWTarief/100), 2 );
		SET NEW.OmzetIncBtwIncKorting   = NEW.OmzetIncBtwExKorting - ROUND( NEW.BedragIncBtwExKorting * (NEW.KortingPercentage * 0.01), 2 );
		
	ELSE
		
		SET NEW.KortingBedrag           = ROUND( NEW.Aantal * (NEW.Prijs/100) * NEW.KortingPercentage / 100,2 );
		SET NEW.PrijsExBtwExKorting     = ROUND( ( NEW.Prijs / 100 ) / ( 1 + NEW.BTWTarief/100) , 2 );
		SET NEW.PrijsExBtwIncKorting    = ROUND( ( ( 100 - NEW.KortingPercentage ) / 100 ) * ( NEW.Prijs / 100 ) / ( 1 + NEW.BTWTarief/100) , 2 );
		SET NEW.BedragIncBtwExKorting   = NEW.Prijs * NEW.Aantal / 100;
		SET NEW.BedragExBtwExKorting    = ROUND( NEW.BedragIncBtwExKorting / ( 1 + NEW.BTWTarief/100), 2 );
		SET NEW.BedragIncBtwIncKorting  = NEW.BedragIncBtwExKorting - NEW.KortingBedrag;
		SET NEW.BedragExBtwIncKorting   = ROUND( NEW.BedragIncBtwIncKorting / ( 1 + NEW.BTWTarief/100), 2 );
		SET NEW.BedragBTW               = NEW.BedragIncBtwIncKorting - NEW.BedragExBtwIncKorting;
		
		
		SET NEW.OmzetIncBtwExKorting    = NEW.Prijs * AantalTBVOmzet / 100;
		SET NEW.OmzetExBtwExKorting     = ROUND( NEW.OmzetIncBtwExKorting / ( 1 + NEW.BTWTarief/100), 2 );
		SET NEW.OmzetIncBtwIncKorting   = NEW.OmzetIncBtwExKorting - ROUND( AantalTBVOmzet * (NEW.Prijs/100) * NEW.KortingPercentage / 100,2 );
		SET NEW.OmzetExBtwIncKorting    = ROUND( NEW.OmzetIncBtwIncKorting / ( 1 + NEW.BTWTarief/100), 2 );
	END IF;
	IF NEW.Ean = 'bong' THEN
		SET NEW.Bijdrage                = NEW.Prijs / 100;
		SET NEW.KortingMP               = 0;
		SET NEW.KostenMP                = 0;
	END IF;
	
	IF LCASE( NEW.Ean ) = 'porto' OR lcase( NEW.Ean ) = 'spoed' OR LCASE( NEW.Ean ) = 'voucher' THEN
		SET NEW.OmzetIncBtwExKorting    = 0;
		SET NEW.OmzetExBtwExKorting     = 0;
		SET NEW.OmzetIncBtwIncKorting  = 0;
		SET NEW.OmzetExBtwIncKorting   = 0;
	END IF;
	
	SET NEW.Bijdrage = IF( AantalTBVOmzet > 0, NEW.OmzetExBTWIncKorting - ROUND( ( NEW.OmzetExBTWExKorting * ( 100 - NEW.KortingMP ) / 100 ), 2 ) - NEW.KostenMP, 0 );
	SET NEW.StatusId = 1;
END */;;
DELIMITER ;
ALTER DATABASE `Computerboek_Klanten` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `before_delete_bestellingen` BEFORE DELETE ON `Computerboek_Klanten`.`Bestellingen` FOR EACH ROW BEGIN
	DElETE FROM BestellingenInpakstatus WHERE BestellingenId = OLD.Id;
    END */;;
DELIMITER ;
ALTER DATABASE `Computerboek_Klanten` CHARACTER SET utf8 COLLATE utf8_general_ci ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_insert_bestellingen` AFTER INSERT ON `Bestellingen` 
    FOR EACH ROW BEGIN
	DECLARE isAfgerond INT(1);    
	DECLARE orderKlantid INT(11);    
	DECLARE myIsCredit INT(1);
	DECLARE origineelOrderid INT(11);
    
	INSERT IGNORE INTO `BestellingenInpakstatus` SET BestellingenId = NEW.Id;
	INSERT IGNORE INTO `BestellingenHerkomst` SET Id = NEW.Id;
	INSERT IGNORE INTO `BestellingenStatus` SET Id = NEW.Id;
	INSERT IGNORE INTO `OrderregelStatusPlat` SET Id = NEW.Id;	
	INSERT IGNORE INTO `OrderregelStatus` SET StatusId = 1, Id = NEW.Id, Resultaat = 'gelukt', Gebruiker = @initials, DT = NOW();
	INSERT IGNORE INTO `BestellingenBelofte` SET Id = NEW.Id;
	INSERT IGNORE INTO `BestellingenExtra` SET Id = NEW.Id, PrijsHerkomst = IF( NEW.Ean = 'BONG', 'bong', IF( NEW.IsPromo > 0, 'promo', 'boekendb' ));
	INSERT INTO `BestellingenLog` SET 
	Eerste=1,
	DTLog=NOW(),
	LogGebruiker=@initials,
	Auteurnaam=NEW.Auteurnaam,	
	Id=NEW.Id,
	Aantal=New.Aantal,
	Prijs=new.Prijs,
	Bestellingid=new.Bestellingid,
	Ean=new.Ean,
	Omschrijving = new.Omschrijving,
	Geexporteerd = new.Geexporteerd,
	KortingPercentage = new.KortingPercentage,
	IsPromo = new.IsPromo,
	KortingReden = new.KortingReden,
	KortingMP = new.KortingMP,
	KostenMP = new.KostenMP,
	DTOrderregel = new.DTOrderregel,
	VastePrijs = new.VastePrijs,
	ActiePrijs = new.ActiePrijs,
	BTWTarief = new.BTWTarief,
	BTWCode = new.BTWCode,
	AantalBackorder = new.AantalBackorder,
	BackorderOrigineel = new.BackorderOrigineel,
	BackorderReden = new.BackorderReden,
	BriefCode = new.BriefCode,
	DTExactExport = new.DTExactExport,
	KortingBedrag = new.KortingBedrag,
	KortingBedragExBtw = new.KortingBedragExBtw,
	PrijsExBtwExKorting = new.PrijsExBtwExKorting,
	PrijsExBtwIncKorting = new.PrijsExBtwIncKorting,
	BedragExBtwExKorting = new.BedragExBtwExKorting,
	BedragIncBtwExKorting = new.BedragIncBtwExKorting,
	BedragIncBtwIncKorting = new.BedragIncBtwIncKorting,
	BedragBTW = new.BedragBTW,
	LineNr = new.LineNr,
	Geannuleerd = new.Geannuleerd;
	
	
	SELECT Afgerond,Klantid,IsCredit,OrigineelBestellingId INTO isAfgerond,orderKlantid,myIsCredit,origineelOrderid FROM BestellingAll WHERE Bestellingid=NEW.Bestellingid;
	IF isAfgerond = 1 THEN
		INSERT IGNORE INTO `OrderregelStatus` SET StatusId = 2, Id = NEW.Id, Resultaat = 'gelukt', Gebruiker = @initials, DT = NOW();	
		UPDATE Bestellingen JOIN BestellingenBelofte USING ( Id ) SET VoorraadBijBevestiging = Voorraadbeheer.`beschikbareVoorraad`( Ean ) WHERE Id = NEW.Id;
	END IF;
	
		
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_update_bestellingen` AFTER UPDATE ON `Bestellingen` 
    FOR EACH ROW BEGIN
	DECLARE aantal INT;
	DECLARE gebruiker CHAR(2);
	DECLARE isAfgerond INT(1);
	DECLARE orderKlantid INT(11);
	DECLARE isCreditOrder tinyint(4);
	DECLARE isIngepakt INT(1);
	DECLARE origineelOrderid INT(11);
	
	
	IF IFNULL( OLD.FactuurId, 0 ) = 0  AND IFNULL( NEW.FactuurId, 0) > 0 THEN
		DELETE FROM OrderregelStatus WHERE StatusId = 7 AND Id = NEW.Id;
		INSERT INTO OrderregelStatus SET Id = NEW.Id, StatusId = 7, Resultaat = 'gelukt', DT = NOW(), Gebruiker = @initials;
	END IF;
	
	
	
	SELECT COUNT(*) INTO aantal FROM `Bestellingen` WHERE Bestellingid = NEW.Bestellingid AND Geexporteerd = 0;
	IF (aantal = 0) THEN 
		
		REPLACE INTO `BestellingStatus` SET 
			BestellingId = NEW.Bestellingid,
			StatusId = 8,
			Resultaat = 'gelukt',
			Gebruiker = @initials,
			DT = NOW();		
	END IF;
	
	IF 
		OLD.Aantal <> NEW.Aantal OR
		OLD.Prijs <> NEW.Prijs OR
		OLD.Ean <> NEW.Ean OR
		OLD.Omschrijving <> NEW.Omschrijving OR
		OLD.Geexporteerd <> NEW.Geexporteerd OR
		OLD.KortingPercentage <> NEW.KortingPercentage OR
		OLD.DTOrderregel <> NEW.DTOrderregel OR
		OLD.BTWCode <> NEW.BTWCode OR
		OLD.AantalBackorder <> NEW.AantalBackorder OR
		OLD.BackorderReden <> NEW.BackorderReden OR
		OLD.LineNr <> NEW.LineNr OR
		OLD.Geannuleerd <> NEW.Geannuleerd OR
		OLD.KostenMP <> NEW.KostenMP OR
		OLD.Auteurnaam <> NEW.Auteurnaam
	THEN
		INSERT INTO `BestellingenLog` SET 
		Id=NEW.Id,
		DTLog=NOW(),
		LogGebruiker=@initials,
		Auteurnaam=NEW.Auteurnaam,
		Aantal=NEW.Aantal,
		Prijs=NEW.Prijs,
		Bestellingid=NEW.Bestellingid,
		Ean=NEW.Ean,
		Omschrijving = NEW.Omschrijving,
		Geexporteerd = NEW.Geexporteerd,
		KortingPercentage = NEW.KortingPercentage,
		IsPromo = NEW.IsPromo,
		KortingReden = NEW.KortingReden,
		KortingMP = NEW.KortingMP,
		KostenMP = NEW.KostenMP,
		DTOrderregel = NEW.DTOrderregel,
		VastePrijs = NEW.VastePrijs,
		ActiePrijs = NEW.ActiePrijs,
		BTWTarief = NEW.BTWTarief,
		BTWCode = NEW.BTWCode,
		AantalBackorder = NEW.AantalBackorder,
		BackorderOrigineel = NEW.BackorderOrigineel,
		BackorderReden = NEW.BackorderReden,
		BriefCode = NEW.BriefCode,
		DTExactExport = NEW.DTExactExport,
		KortingBedrag = NEW.KortingBedrag,
		KortingBedragExBtw = NEW.KortingBedragExBtw,
		PrijsExBtwExKorting = NEW.PrijsExBtwExKorting,
		PrijsExBtwIncKorting = NEW.PrijsExBtwIncKorting,
		BedragExBtwExKorting = NEW.BedragExBtwExKorting,
		BedragIncBtwExKorting = NEW.BedragIncBtwExKorting,
		BedragIncBtwIncKorting = NEW.BedragIncBtwIncKorting,
		BedragBTW = NEW.BedragBTW,
		LineNr = NEW.LineNr,
		Geannuleerd = NEW.Geannuleerd
		;
	END IF;
	
	
	
	
	
	
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `before_update_bestellingen` BEFORE UPDATE ON `Bestellingen` 
    FOR EACH ROW BEGIN
	DECLARE ActiePrijs DOUBLE;
	DECLARE VastePrijs DOUBLE;
	DECLARE Korting DOUBLE;
	DECLARE Porto DECIMAL( 10, 2 );
	DECLARE Aantal INT;
	DECLARE Btw CHAR(1);
	DECLARE AantalTBVOmzet INT;
	DECLARE IsOmzet INT;
	
	SELECT IsOmzet INTO IsOmzet FROM BestellingAll WHERE BestellingId = OLD.BestellingId;
	
	SET AantalTBVOmzet = IF( ( IFNULL( NEW.BackorderOrigineel, 0 ) > 0 ) OR ( IsOmzet = 0 ), 0, NEW.Aantal + NEW.AantalBackorder );	
	
	IF NEW.Ean <> 'porto' THEN
		SELECT IFNULL(Prijs,0), IFNULL(IF(((`Aanbiedingsprijs` > 0) AND (CURDATE() >= `Aanbiedingvanaf`) AND (CURDATE() <= IF((IFNULL(`Aanbiedingtotenmet`,0) = 0),CURDATE(),`Aanbiedingtotenmet`))),`Aanbiedingsprijs`,0 ),0), IF( Aangepastekortingmp > 0, Aangepastekortingmp, Kortingmp ),Btwcode_tbv_export INTO VastePrijs,ActiePrijs,Korting,Btw
		FROM Computerboek_Boeken.Boeken WHERE Ean = NEW.Ean; 
	END IF;
	
	IF Btw = '' OR BTW IS NULL THEN
		SELECT IFNULL( BTWCode, '' ) INTO Btw FROM ExactArtikelen WHERE `Code` = NEW.Ean;
	END IF;
	
	IF Btw = '' OR BTW IS NULL THEN	
		SET Btw = 4;
	END IF;	
	
	SET NEW.BTWCode    	= Btw;	
	SET NEW.ActiePrijs 	= IFNULL(ActiePrijs,0);
	SET NEW.VastePrijs 	= IFNULL(VastePrijs,0);
	SET NEW.KortingMP 	= IFNULL(Korting,0);
	SET NEW.KortingReden 	= IFNULL(NEW.KortingReden,'');
	SET NEW.KostenMP 	= IFNULL(NEW.KostenMP,0);
	SET NEW.BTWTarief 	= 6;
	
	IF( Btw = '4' ) THEN
		SET NEW.BTWTarief = 6;
	ELSEIF( Btw = '0') THEN
		SET NEW.BTWTarief = 0;
	ELSEIF( Btw = '7') THEN
		SET NEW.BTWTarief = 21;
	ELSEIF( Btw = '8') THEN
		SET NEW.BTWTarief = 21;		
	ELSEIF( Btw = 'H') THEN
		SET NEW.BTWTarief = 19;
	ELSEIF( Btw = 'I') THEN
		SET NEW.BTWTarief = 19;		
	END IF;
	
	IF( NEW.Ean = 'porto' ) THEN
		SET NEW.BTWTarief = 6;
		SET NEW.BTWCode   = '4';
	END IF;
	
	IF( NEW.Ean = 'BONG' OR NEW.Ean = 'IDEAL' ) THEN
		SET NEW.BTWTarief = 0;
		SET NEW.BTWCode   = '0';
	END IF;
	
	IF( Btw = 'H' OR Btw = '7' ) THEN 
		SET NEW.PrijsExBtwExKorting    = ROUND( NEW.Prijs * 0.01, 2 );
		SET NEW.PrijsExBtwIncKorting   = ROUND( NEW.Prijs * 0.01 * ((100-NEW.KortingPercentage) * 0.01) , 2 );		
		SET NEW.KortingBedragExBTW     = ROUND( NEW.Aantal * ( NEW.Prijs * 0.01 ) * (NEW.KortingPercentage * 0.01) ,2 );
		SET NEW.BedragExBtwExKorting   = ROUND( NEW.Aantal * NEW.Prijs / 100, 2 );		
		SET NEW.BedragExBtwIncKorting  = NEW.BedragExBtwExKorting - NEW.KortingBedragExBTW;
		SET NEW.BedragIncBtwExKorting  = ROUND( NEW.BedragExBtwExKorting  * (1 + NEW.BTWTarief/100), 2 );
		SET NEW.KortingBedrag 	       = ROUND( NEW.BedragIncBtwExKorting * (NEW.KortingPercentage * 0.01), 2 );	
		SET NEW.BedragIncBtwIncKorting = NEW.BedragIncBtwExKorting - NEW.KortingBedrag;
		SET NEW.BedragBTW 	       = NEW.BedragIncBtwIncKorting - NEW.BedragExBtwIncKorting;			
		
		SET NEW.OmzetExBtwExKorting   = ROUND( AantalTBVOmzet * NEW.Prijs / 100, 2 );		
		SET NEW.OmzetExBtwIncKorting  = NEW.OmzetExBtwExKorting - ROUND( AantalTBVOmzet * ( NEW.Prijs * 0.01 ) * (NEW.KortingPercentage * 0.01) ,2 );
		SET NEW.OmzetIncBtwExKorting  = ROUND( NEW.OmzetExBtwExKorting  * (1 + NEW.BTWTarief/100), 2 );
		SET NEW.OmzetIncBtwIncKorting = NEW.OmzetIncBtwExKorting - ROUND( NEW.BedragIncBtwExKorting * (NEW.KortingPercentage * 0.01), 2 );
		
	ELSE
		SET NEW.KortingBedrag 		= ROUND( NEW.Aantal * (NEW.Prijs/100) * NEW.KortingPercentage / 100,2 );
		SET NEW.PrijsExBtwExKorting 	= ROUND( ( NEW.Prijs / 100 ) / ( 1 + NEW.BTWTarief/100) , 2 );
		SET NEW.PrijsExBtwIncKorting 	= ROUND( ( ( 100 - NEW.KortingPercentage ) / 100 ) * ( NEW.Prijs / 100 ) / ( 1 + NEW.BTWTarief/100) , 2 );	
		SET NEW.BedragIncBtwExKorting 	= NEW.Prijs * NEW.Aantal / 100;
		SET NEW.BedragExBtwExKorting  	= ROUND( NEW.BedragIncBtwExKorting / ( 1 + NEW.BTWTarief/100), 2 );
		SET NEW.BedragIncBtwIncKorting 	= NEW.BedragIncBtwExKorting - NEW.KortingBedrag;
		SET NEW.BedragExBtwIncKorting 	= ROUND( NEW.BedragIncBtwIncKorting / ( 1 + NEW.BTWTarief/100), 2 );
		SET NEW.BedragBTW 		= NEW.BedragIncBtwIncKorting - NEW.BedragExBtwIncKorting;	
		
		SET NEW.OmzetIncBtwExKorting 	= NEW.Prijs * AantalTBVOmzet / 100;
		SET NEW.OmzetExBtwExKorting  	= ROUND( NEW.OmzetIncBtwExKorting / ( 1 + NEW.BTWTarief/100), 2 );
		SET NEW.OmzetIncBtwIncKorting 	= NEW.OmzetIncBtwExKorting - ROUND( AantalTBVOmzet * (NEW.Prijs/100) * NEW.KortingPercentage / 100,2 );
		SET NEW.OmzetExBtwIncKorting 	= ROUND( NEW.OmzetIncBtwIncKorting / ( 1 + NEW.BTWTarief/100), 2 );	  
	END IF;
	
	SET NEW.Bijdrage = IF( AantalTBVOmzet > 0, NEW.OmzetExBTWIncKorting - ROUND( ( NEW.OmzetExBTWExKorting * ( 100 - NEW.KortingMP ) / 100 ), 2 ) - NEW.KostenMP, 0 );
	
	IF OLD.Geannuleerd = 0 AND NEW.Geannuleerd = 1 THEN
		INSERT IGNORE INTO OrderregelStatus SET Id = NEW.Id, StatusId = 24, Resultaat = 'gelukt', DT = NOW(), Gebruiker = @initials;	
		SET NEW.StatusId=24;
	END IF;
	
	IF NEW.Geannuleerd = 1 THEN
		SET NEW.OmzetIncBtwExKorting   = 0;
		SET NEW.OmzetExBtwExKorting    = 0;
		SET NEW.OmzetIncBtwIncKorting  = 0;
		SET NEW.OmzetExBtwIncKorting   = 0;
		SET NEW.KortingBedrag          = 0;
		SET NEW.Bijdrage               = 0;
	END IF;
	
	IF NEW.Ean = 'bong' THEN
		SET NEW.Bijdrage               = NEW.Prijs/100;
		sET NEW.KortingMP 	       = 0;
		SET NEW.KostenMP               = 0;
	END IF;
	
	IF LCASE( NEW.Ean ) = 'porto' OR LCASE( NEW.Ean ) = 'spoed' OR LCASE( NEW.Ean ) = 'voucher' THEN
		SET NEW.OmzetIncBtwExKorting   = 0;
		SET NEW.OmzetExBtwExKorting    = 0;
		SET NEW.OmzetIncBtwIncKorting  = 0;
		SET NEW.OmzetExBtwIncKorting   = 0;
	END IF;
	
    END */;;
DELIMITER ;
ALTER DATABASE `Computerboek_Klanten` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_delete_bestellingen` AFTER DELETE ON `Bestellingen` 
    FOR EACH ROW BEGIN
	DECLARE isAfgerond INT(1);
	DECLARE orderKlantid INT(11);
	DECLARE origineelOrderid INT(11);
	SELECT Afgerond,Klantid,OrigineelBestellingId INTO isAfgerond,orderKlantid,origineelOrderid FROM BestellingAll WHERE Bestellingid=OLD.Bestellingid;
	
	
	IF isAfgerond = 1 THEN
		IF OLD.Ean NOT IN (SELECT geen_voorraad_artikelen()) THEN
			SELECT Voorraadbeheer.maakVoorraadreservering(get_administratie(),
									OLD.Ean,
									-1* ( Voorraadbeheer.`regelReserveringen`( get_administratie(), OLD.Id ) ),
									OLD.Bestellingid,
									OLD.id,
									orderKlantid,
									'verwijderd',
									origineelOrderid,
									OLD.Omschrijving) 
								INTO @myResevering;		
		END IF;
	END IF;
    END */;;
DELIMITER ;
ALTER DATABASE `Computerboek_Klanten` CHARACTER SET utf8 COLLATE utf8_general_ci ;

--
-- Table structure for table `BestellingenBelofte`
--

CREATE TABLE `BestellingenBelofte` (
  `Id` int(11) NOT NULL,
  `TekstBelofte` char(60) DEFAULT NULL,
  `DTBelofte` datetime DEFAULT NULL,
  `DTIngepakt` datetime DEFAULT NULL,
  `DTGeplandeLevering` date DEFAULT NULL,
  `WordtWaargemaakt` tinyint(4) NOT NULL DEFAULT '0',
  `IsWaargemaakt` tinyint(4) NOT NULL DEFAULT '0',
  `Werkdagen` tinyint(4) NOT NULL DEFAULT '0',
  `VoorraadBijBevestiging` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Id`),
  CONSTRAINT `BestellingenBelofte_ibfk_1` FOREIGN KEY (`Id`) REFERENCES `Bestellingen` (`Id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BestellingenExtra`
--

CREATE TABLE `BestellingenExtra` (
  `Id` int(10) unsigned NOT NULL,
  `Tag` char(20) NOT NULL,
  `PrijsHerkomst` enum('boekendb','mari','apcode','bong','voucher','promo') NOT NULL,
  `AangepastePrijsCode` varchar(255) NOT NULL,
  `InRamsj` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Id`),
  KEY `NewIndex1` (`Tag`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `BestellingenHerkomst`
--

CREATE TABLE `BestellingenHerkomst` (
  `Id` int(11) NOT NULL,
  `BestellingenHerkomst` enum('Organic','Adwords','Affiliate','Direct','Extern','Nieuwsbrief','Klantenservice') DEFAULT NULL,
  `SessionId` int(11) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BestellingenInpakstatus`
--

CREATE TABLE `BestellingenInpakstatus` (
  `BestellingenId` int(11) NOT NULL,
  `AantalIngepakt` int(11) DEFAULT '0',
  `DT` datetime DEFAULT NULL,
  `Gebruiker` char(2) DEFAULT NULL,
  PRIMARY KEY (`BestellingenId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER DATABASE `Computerboek_Klanten` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_update_bestellingenInpakstatus` AFTER UPDATE ON `Computerboek_Klanten`.`BestellingenInpakstatus` FOR EACH ROW BEGIN
	DECLARE totaalAantalInOrder INT;    
	DECLARE totaalAantalIngepakt INT;
	DECLARE bid INT;
	SELECT Bestellingid INTO bid FROM Bestellingen WHERE Id = NEW.BestellingenId;
	SELECT SUM(Aantal) INTO totaalAantalInOrder FROM Bestellingen WHERE Bestellingid = bid;
	SELECT SUM(AantalIngepakt) INTO totaalAantalIngepakt 
		FROM BestellingenInpakstatus 
		WHERE BestellingenId IN (SELECT Id FROM Bestellingen WHERE Bestellingid = bid);
	
	IF (totaalAantalInOrder = totaalAantalIngepakt) THEN
		INSERT INTO BestellingStatus SET 
			BestellingId = bid,	
			StatusId = 13,
			Resultaat = 'gelukt',
			Gebruiker = NEW.Gebruiker,
			DT = NOW();
	END IF;
    END */;;
DELIMITER ;
ALTER DATABASE `Computerboek_Klanten` CHARACTER SET utf8 COLLATE utf8_general_ci ;

--
-- Table structure for table `BestellingenLog`
--

CREATE TABLE `BestellingenLog` (
  `logId` int(11) NOT NULL AUTO_INCREMENT,
  `DTLog` datetime DEFAULT NULL,
  `LogGebruiker` char(5) DEFAULT NULL,
  `Eerste` tinyint(1) DEFAULT '0',
  `Id` int(11) DEFAULT NULL COMMENT 'Bestellingregel Id (Bestellingen)',
  `Auteurnaam` varchar(200) DEFAULT NULL,
  `Aantal` int(11) DEFAULT NULL,
  `Prijs` int(11) DEFAULT NULL,
  `Bestellingid` int(11) DEFAULT NULL COMMENT 'Bestelling Id (BestellingAll)',
  `Ean` varchar(13) DEFAULT NULL,
  `Omschrijving` varchar(200) DEFAULT NULL,
  `Geexporteerd` tinyint(4) DEFAULT '0',
  `KortingPercentage` decimal(4,2) DEFAULT NULL,
  `IsPromo` tinyint(4) DEFAULT NULL,
  `KortingReden` char(3) DEFAULT NULL,
  `KortingMP` int(11) DEFAULT '0',
  `KostenMP` decimal(4,2) DEFAULT '0.00',
  `DTOrderregel` datetime DEFAULT NULL,
  `VastePrijs` decimal(6,2) DEFAULT '0.00',
  `ActiePrijs` decimal(6,2) DEFAULT '0.00',
  `BTWTarief` decimal(3,1) DEFAULT NULL,
  `BTWCode` char(1) DEFAULT '0',
  `AantalBackorder` int(11) DEFAULT '0',
  `BackorderOrigineel` int(11) DEFAULT NULL,
  `BackorderReden` int(11) DEFAULT NULL,
  `BriefCode` varchar(20) DEFAULT NULL,
  `DTExactExport` datetime DEFAULT NULL,
  `KortingBedrag` decimal(10,2) DEFAULT '0.00',
  `KortingBedragExBtw` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragBTW` decimal(10,2) DEFAULT '0.00',
  `LineNr` int(11) DEFAULT NULL,
  `Geannuleerd` tinyint(4) DEFAULT '0',
  `Bevestigd` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`logId`),
  KEY `Artikelcode` (`Ean`),
  KEY `BackorderOrigineel` (`BackorderOrigineel`),
  KEY `NewIndex1` (`AantalBackorder`),
  KEY `Id` (`Id`),
  KEY `Bestellingid` (`Bestellingid`,`Eerste`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingenStatus`
--

CREATE TABLE `BestellingenStatus` (
  `Id` int(11) NOT NULL,
  `InBehandelingOp` datetime DEFAULT NULL,
  `GereedOp` datetime DEFAULT NULL,
  `IngepaktOp` datetime DEFAULT NULL,
  `NageleverdOp` date DEFAULT NULL,
  `VerzondenOp` date DEFAULT NULL,
  `BetaaldOp` date DEFAULT NULL,
  `GeannuleerdOp` datetime DEFAULT NULL,
  PRIMARY KEY (`Id`),
  CONSTRAINT `FK_BestellingenStatus` FOREIGN KEY (`Id`) REFERENCES `Bestellingen` (`Id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Bestellingen_kopie`
--

CREATE TABLE `Bestellingen_kopie` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Auteurnaam` varchar(200) DEFAULT NULL,
  `Aantal` int(11) DEFAULT NULL,
  `Prijs` int(11) DEFAULT NULL,
  `Bestellingid` int(11) DEFAULT NULL,
  `Ean` varchar(13) DEFAULT NULL,
  `Omschrijving` varchar(200) DEFAULT NULL,
  `Geexporteerd` tinyint(4) NOT NULL DEFAULT '0',
  `KortingPercentage` decimal(4,2) NOT NULL,
  `IsPromo` tinyint(4) NOT NULL,
  `KortingReden` char(3) DEFAULT NULL,
  `KortingMP` int(11) DEFAULT '0',
  `KostenMP` decimal(4,2) DEFAULT '0.00',
  `DTOrderregel` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `VastePrijs` decimal(6,2) DEFAULT '0.00',
  `ActiePrijs` decimal(6,2) DEFAULT '0.00',
  `BTWTarief` decimal(3,1) DEFAULT NULL,
  `BTWCode` char(1) DEFAULT '0',
  `AantalBackorder` int(11) DEFAULT '0',
  `BackorderOrigineel` int(11) DEFAULT NULL,
  `BackorderReden` int(11) DEFAULT NULL,
  `BriefCode` varchar(20) DEFAULT NULL,
  `DTExactExport` datetime DEFAULT NULL,
  `KortingBedrag` decimal(10,2) NOT NULL DEFAULT '0.00',
  `KortingBedragExBtw` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragBTW` decimal(10,2) DEFAULT '0.00',
  `LineNr` int(11) NOT NULL,
  `Geannuleerd` tinyint(4) DEFAULT '0',
  PRIMARY KEY (`Id`),
  KEY `Bestellingid` (`Bestellingid`),
  KEY `Artikelcode` (`Ean`),
  KEY `backorder` (`BackorderOrigineel`),
  KEY `NewIndex1` (`Id`,`BackorderOrigineel`),
  KEY `NewIndex2` (`AantalBackorder`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Temporary table structure for view `Bestellingen_met_backorders`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_met_backorders`*/;
/*!50001 CREATE TABLE `Bestellingen_met_backorders` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Geleverd` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_met_backorders2`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_met_backorders2`*/;
/*!50001 CREATE TABLE `Bestellingen_met_backorders2` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Bijdrage` tinyint NOT NULL,
  `OmzetExBtwExKorting` tinyint NOT NULL,
  `OmzetExBtwIncKorting` tinyint NOT NULL,
  `OmzetIncBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwIncKorting` tinyint NOT NULL,
  `StatusId` tinyint NOT NULL,
  `FactuurId` tinyint NOT NULL,
  `RegelReferentie` tinyint NOT NULL,
  `BoekStatusBijBestelling` tinyint NOT NULL,
  `Geleverd` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_met_btwgegevens`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_met_btwgegevens`*/;
/*!50001 CREATE TABLE `Bestellingen_met_btwgegevens` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `BtwCode` tinyint NOT NULL,
  `Magazijnsoort` tinyint NOT NULL,
  `Magazijnlocatie` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `SubtotaalVoorKorting` tinyint NOT NULL,
  `SubtotaalNaKorting` tinyint NOT NULL,
  `Korting` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_met_extra`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_met_extra`*/;
/*!50001 CREATE TABLE `Bestellingen_met_extra` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Bijdrage` tinyint NOT NULL,
  `OmzetExBtwExKorting` tinyint NOT NULL,
  `OmzetExBtwIncKorting` tinyint NOT NULL,
  `OmzetIncBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwIncKorting` tinyint NOT NULL,
  `StatusId` tinyint NOT NULL,
  `FactuurId` tinyint NOT NULL,
  `RegelReferentie` tinyint NOT NULL,
  `BoekStatusBijBestelling` tinyint NOT NULL,
  `Tag` tinyint NOT NULL,
  `PrijsHerkomst` tinyint NOT NULL,
  `AangepastePrijsCode` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_met_reserveringen`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_met_reserveringen`*/;
/*!50001 CREATE TABLE `Bestellingen_met_reserveringen` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Bijdrage` tinyint NOT NULL,
  `OmzetExBtwExKorting` tinyint NOT NULL,
  `OmzetExBtwIncKorting` tinyint NOT NULL,
  `OmzetIncBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwIncKorting` tinyint NOT NULL,
  `StatusId` tinyint NOT NULL,
  `FactuurId` tinyint NOT NULL,
  `RegelReferentie` tinyint NOT NULL,
  `BoekStatusBijBestelling` tinyint NOT NULL,
  `Reserveringen` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_met_voorraad`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_met_voorraad`*/;
/*!50001 CREATE TABLE `Bestellingen_met_voorraad` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Bijdrage` tinyint NOT NULL,
  `OmzetExBtwExKorting` tinyint NOT NULL,
  `OmzetExBtwIncKorting` tinyint NOT NULL,
  `OmzetIncBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwIncKorting` tinyint NOT NULL,
  `StatusId` tinyint NOT NULL,
  `FactuurId` tinyint NOT NULL,
  `RegelReferentie` tinyint NOT NULL,
  `BoekStatusBijBestelling` tinyint NOT NULL,
  `voorraad` tinyint NOT NULL,
  `is_voorraadartikel` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_voor_omzet`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_voor_omzet`*/;
/*!50001 CREATE TABLE `Bestellingen_voor_omzet` (
  `Aantal` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `AantalVoorOmzet` tinyint NOT NULL,
  `Achternaam` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `AffiliateId` tinyint NOT NULL,
  `Afgerond` tinyint NOT NULL,
  `Afleverid` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `AutoClassificatie` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BatchID` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `Bedrijfsnaam` tinyint NOT NULL,
  `BestellingHerkomst` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Betaalmethode` tinyint NOT NULL,
  `BetalingsTermijn` tinyint NOT NULL,
  `Bijdrage` tinyint NOT NULL,
  `BoekStatusBijBestelling` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `ClassificatieReden` tinyint NOT NULL,
  `ClassificatieRedenKort` tinyint NOT NULL,
  `DeelLevering` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `DTFactuur` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `DTStemMail` tinyint NOT NULL,
  `DTVerval` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `EersteBestelling` tinyint NOT NULL,
  `Factuurid` tinyint NOT NULL,
  `Gclid` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Gebruiker` tinyint NOT NULL,
  `GeenPortoBerekenen` tinyint NOT NULL,
  `Hash` tinyint NOT NULL,
  `Herinnering` tinyint NOT NULL,
  `Herkomst` tinyint NOT NULL,
  `Id` tinyint NOT NULL,
  `IdealOpen` tinyint NOT NULL,
  `IdealTimeout` tinyint NOT NULL,
  `IP` tinyint NOT NULL,
  `IsClubOrder` tinyint NOT NULL,
  `IsCorrectie` tinyint NOT NULL,
  `IsCredit` tinyint NOT NULL,
  `IsOmzet` tinyint NOT NULL,
  `IsOpnieuw` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `Kanaal` tinyint NOT NULL,
  `Keyword` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `MailedTracktrace` tinyint NOT NULL,
  `Nieuwsbriefid` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `OmzetExBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwExKorting` tinyint NOT NULL,
  `OmzetExBtwIncKorting` tinyint NOT NULL,
  `OmzetIncBtwIncKorting` tinyint NOT NULL,
  `Opmerkingen` tinyint NOT NULL,
  `OpmerkingNegeren` tinyint NOT NULL,
  `OrigineelBestellingId` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `ProcessStatus` tinyint NOT NULL,
  `ProspectId` tinyint NOT NULL,
  `ReferrerDomain` tinyint NOT NULL,
  `RegelReferentie` tinyint NOT NULL,
  `Rekeningnummer` tinyint NOT NULL,
  `SamengevoegdMet` tinyint NOT NULL,
  `SessionId` tinyint NOT NULL,
  `SiteBestelling` tinyint NOT NULL,
  `Siteid` tinyint NOT NULL,
  `StatusId` tinyint NOT NULL,
  `StemMailVerzonden` tinyint NOT NULL,
  `TeltAls` tinyint NOT NULL,
  `ToonBestelling` tinyint NOT NULL,
  `UitBackorder` tinyint NOT NULL,
  `UserAgent` tinyint NOT NULL,
  `Uwreferentie` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `VerstuurCompleteOrder` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_zonder_backorders`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_zonder_backorders`*/;
/*!50001 CREATE TABLE `Bestellingen_zonder_backorders` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Bijdrage` tinyint NOT NULL,
  `OmzetExBtwIncKorting` tinyint NOT NULL,
  `OmzetExBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwIncKorting` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `BoekBrieven`
--

CREATE TABLE `BoekBrieven` (
  `naam` varchar(20) NOT NULL,
  `bestellingbarcode` tinyint(1) NOT NULL DEFAULT '0',
  `inhoud` mediumtext NOT NULL,
  `onderwerp` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`naam`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BoekBrievenEans`
--

CREATE TABLE `BoekBrievenEans` (
  `Naam` char(100) NOT NULL DEFAULT '',
  `Ean` char(13) NOT NULL DEFAULT '',
  PRIMARY KEY (`Ean`,`Naam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekGecombineerdeActieEans`
--

CREATE TABLE `BoekGecombineerdeActieEans` (
  `ActieID` int(11) NOT NULL,
  `Ean` char(13) NOT NULL,
  PRIMARY KEY (`ActieID`,`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekGecombineerdeActies`
--

CREATE TABLE `BoekGecombineerdeActies` (
  `ActieID` int(11) NOT NULL AUTO_INCREMENT,
  `Start` date NOT NULL,
  `Eind` date NOT NULL,
  `AantalNodig` int(11) NOT NULL,
  `ActiePrijs` decimal(6,2) NOT NULL,
  `KortingTekst` varchar(255) NOT NULL,
  PRIMARY KEY (`ActieID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekMetVolledigAbstract`
--

CREATE TABLE `BoekMetVolledigAbstract` (
  `Ean` char(13) NOT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekenProductvorm`
--

CREATE TABLE `BoekenProductvorm` (
  `Bindwijze` varchar(255) DEFAULT NULL,
  `Productvorm` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekenTags`
--

CREATE TABLE `BoekenTags` (
  `EAN` char(13) NOT NULL,
  `verkoop_top_100` tinyint(4) NOT NULL DEFAULT '0',
  `verkoop_top_1000` tinyint(4) NOT NULL DEFAULT '0',
  `aanbieding` tinyint(1) NOT NULL DEFAULT '0',
  `nieuw` tinyint(1) NOT NULL DEFAULT '0',
  `aantal_recensies` tinyint(4) NOT NULL DEFAULT '0',
  `nieuwe_recensie` tinyint(1) NOT NULL DEFAULT '0',
  `last_recensie_dt` date DEFAULT NULL,
  `auteursbijdragen` tinyint(4) NOT NULL DEFAULT '0',
  `last_auteurs_dt` date DEFAULT NULL,
  `lezersrecensies` tinyint(4) NOT NULL DEFAULT '0',
  `last_lezers_dt` date DEFAULT NULL,
  `aantal_stemmen` tinyint(4) NOT NULL DEFAULT '0',
  `gemiddeld_stemmen` float(6,5) NOT NULL DEFAULT '0.00000',
  `stemmen_top_100` tinyint(4) NOT NULL DEFAULT '0',
  `gemiddeld_stemmen_top_100` tinyint(4) NOT NULL DEFAULT '0',
  `mp3recensie` tinyint(4) NOT NULL DEFAULT '0',
  `bestseller` tinyint(4) NOT NULL DEFAULT '0',
  `nr1` tinyint(4) NOT NULL DEFAULT '0',
  `nr2` tinyint(4) NOT NULL DEFAULT '0',
  `nr3` tinyint(4) NOT NULL DEFAULT '0',
  `top10` tinyint(4) NOT NULL DEFAULT '0',
  `top50` tinyint(4) NOT NULL DEFAULT '0',
  `top100` tinyint(4) NOT NULL DEFAULT '0',
  `evergreen` tinyint(4) NOT NULL DEFAULT '0',
  `verwacht` tinyint(1) NOT NULL DEFAULT '0',
  `stemmen_ranking` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`EAN`),
  KEY `verkoop_top_100` (`verkoop_top_100`),
  KEY `verkoop_top_1000` (`verkoop_top_1000`),
  KEY `aanbieding` (`aanbieding`),
  KEY `nieuw` (`nieuw`),
  KEY `aantal_recensies` (`aantal_recensies`),
  KEY `nieuwe_recensie` (`nieuwe_recensie`),
  KEY `last_recensie_dt` (`last_recensie_dt`),
  KEY `auteursbijdragen` (`auteursbijdragen`),
  KEY `lezersrecensies` (`lezersrecensies`),
  KEY `aantal_stemmen` (`aantal_stemmen`),
  KEY `gemiddeld_stemmen` (`gemiddeld_stemmen`),
  KEY `stemmen_top_100` (`stemmen_top_100`),
  KEY `gemiddeld_stemmen_top_100` (`gemiddeld_stemmen_top_100`),
  KEY `mp3recensie` (`mp3recensie`),
  KEY `nr1` (`nr1`),
  KEY `nr2` (`nr2`),
  KEY `nr3` (`nr3`),
  KEY `top10` (`top10`),
  KEY `top50` (`top50`),
  KEY `top100` (`top100`),
  KEY `evergreen` (`evergreen`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Boekranking_Correctie`
--

CREATE TABLE `Boekranking_Correctie` (
  `Ean` char(13) NOT NULL,
  `DagenInTop100` int(11) NOT NULL,
  `DagenInTop10` int(11) NOT NULL,
  `HoogstePositie` int(11) NOT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Boekranking_Datum`
--

CREATE TABLE `Boekranking_Datum` (
  `Ean` char(13) NOT NULL,
  `DT` date NOT NULL,
  `Ranking` int(11) DEFAULT NULL,
  PRIMARY KEY (`Ean`,`DT`),
  KEY `NewIndex1` (`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Boekranking_Plat`
--

CREATE TABLE `Boekranking_Plat` (
  `Ean` char(13) NOT NULL,
  `1d` int(11) NOT NULL,
  `5d` int(11) NOT NULL,
  `7d` int(11) NOT NULL,
  `10d` int(11) NOT NULL,
  `14d` int(11) NOT NULL,
  `30d` int(11) NOT NULL,
  `60d` int(11) NOT NULL,
  `90d` int(11) NOT NULL,
  `lastweek` int(11) NOT NULL,
  `beforelastweek` int(11) NOT NULL,
  PRIMARY KEY (`Ean`),
  KEY `1d` (`1d`),
  KEY `5d` (`5d`),
  KEY `7d` (`7d`),
  KEY `10d` (`10d`),
  KEY `14d` (`14d`),
  KEY `30d` (`30d`),
  KEY `60d` (`60d`),
  KEY `90d` (`90d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Bonverstrekkers`
--

CREATE TABLE `Bonverstrekkers` (
  `Bonverstrekkerid` int(11) NOT NULL AUTO_INCREMENT,
  `Naam` varchar(75) DEFAULT NULL,
  PRIMARY KEY (`Bonverstrekkerid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

--
-- Table structure for table `Carousel`
--

CREATE TABLE `Carousel` (
  `Naam` char(20) NOT NULL,
  `EAN` char(13) NOT NULL,
  `Gewicht` decimal(3,2) NOT NULL DEFAULT '0.00',
  PRIMARY KEY (`Naam`,`EAN`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED;

--
-- Table structure for table `CarouselBronnen`
--

CREATE TABLE `CarouselBronnen` (
  `Naam` char(20) NOT NULL DEFAULT '',
  `NieuweBoekenVink` tinyint(4) DEFAULT NULL,
  `NieuweBoekenFactor` decimal(3,2) DEFAULT NULL,
  `NieuweBoekenAantal` int(11) DEFAULT NULL,
  `NieuweBoekenSinds` int(11) DEFAULT NULL,
  `ExtraAandachtVink` tinyint(4) DEFAULT NULL,
  `ExtraAandachtFactor` decimal(3,2) DEFAULT NULL,
  `ExtraAandachtAantal` int(11) DEFAULT NULL,
  `HandmatigVink` tinyint(4) DEFAULT NULL,
  `HandmatigFactor` decimal(3,2) DEFAULT NULL,
  `HandmatigLijst` text,
  `ViewLogVink` tinyint(4) DEFAULT NULL,
  `ViewLogFactor` decimal(3,2) DEFAULT NULL,
  `ViewLogAantal` int(11) DEFAULT NULL,
  `ViewLogFields` blob,
  `ViewLogSinds` int(11) DEFAULT NULL,
  `ViewLogType` int(11) DEFAULT NULL,
  `ViewLogFirst` tinyint(4) DEFAULT NULL,
  `TopVink` tinyint(4) DEFAULT NULL,
  `TopAantal` int(11) DEFAULT NULL,
  `TopTraject` char(10) DEFAULT NULL,
  `TopFactor` decimal(3,2) DEFAULT NULL,
  PRIMARY KEY (`Naam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DagDealFallback`
--

CREATE TABLE `DagDealFallback` (
  `Ean` char(13) NOT NULL,
  `Actieprijs` decimal(10,2) NOT NULL,
  `LaatstGebruikt` date NOT NULL DEFAULT '0000-00-00',
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DagDeals`
--

CREATE TABLE `DagDeals` (
  `Datum` date NOT NULL,
  `Ean` char(13) NOT NULL,
  `Actieprijs` decimal(10,2) NOT NULL,
  PRIMARY KEY (`Datum`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Debiteurenset_Debiteuren`
--

CREATE TABLE `Debiteurenset_Debiteuren` (
  `DebiteurensetID` int(11) NOT NULL DEFAULT '0',
  `Exactid` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`DebiteurensetID`,`Exactid`),
  CONSTRAINT `FK_Debiteurenset_Debiteuren` FOREIGN KEY (`DebiteurensetID`) REFERENCES `Debiteurenset_Description` (`DebiteurensetID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Debiteurenset_Description`
--

CREATE TABLE `Debiteurenset_Description` (
  `DebiteurensetID` int(11) NOT NULL AUTO_INCREMENT,
  `Naam` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`DebiteurensetID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Debiteurenset_IPRestrictie`
--

CREATE TABLE `Debiteurenset_IPRestrictie` (
  `DebiteurensetID` int(11) NOT NULL DEFAULT '0',
  `IP` char(16) NOT NULL DEFAULT '0',
  PRIMARY KEY (`DebiteurensetID`,`IP`),
  CONSTRAINT `FK_Debiteurenset_IPRestrictie` FOREIGN KEY (`DebiteurensetID`) REFERENCES `Debiteurenset_Description` (`DebiteurensetID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Debiteurenset_Toegang`
--

CREATE TABLE `Debiteurenset_Toegang` (
  `DebiteurensetID` int(11) NOT NULL DEFAULT '0',
  `Klantid` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`DebiteurensetID`,`Klantid`),
  CONSTRAINT `FK_Debiteurenset_Toegang` FOREIGN KEY (`DebiteurensetID`) REFERENCES `Debiteurenset_Description` (`DebiteurensetID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DevLog`
--

CREATE TABLE `DevLog` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Log` text,
  `DT` datetime DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=861 DEFAULT CHARSET=latin1;

--
-- Table structure for table `DlCounter`
--

CREATE TABLE `DlCounter` (
  `Klantid` int(11) NOT NULL,
  `Fid` int(11) NOT NULL,
  `Aantaldownloads` int(11) NOT NULL,
  `AltLimiet` int(11) DEFAULT NULL,
  PRIMARY KEY (`Klantid`,`Fid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DlEan`
--

CREATE TABLE `DlEan` (
  `Did` int(11) NOT NULL,
  `Ean` char(13) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Did`,`Ean`),
  KEY `Ean` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DlFile`
--

CREATE TABLE `DlFile` (
  `Did` int(11) NOT NULL,
  `Fid` int(11) NOT NULL AUTO_INCREMENT,
  `File` varchar(255) DEFAULT NULL,
  `Titel` varchar(255) NOT NULL,
  PRIMARY KEY (`Fid`),
  UNIQUE KEY `Did2` (`Did`,`File`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DlLog`
--

CREATE TABLE `DlLog` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `Fid` int(11) NOT NULL DEFAULT '0',
  `FIle` varchar(255) DEFAULT NULL,
  `DT` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`Klantid`,`Fid`,`DT`),
  KEY `DT` (`DT`),
  KEY `Fid` (`Fid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `DlSet`
--

CREATE TABLE `DlSet` (
  `Did` int(11) NOT NULL AUTO_INCREMENT,
  `Titel` text,
  `Omschrijving` text,
  `Limit` int(11) DEFAULT NULL,
  `Zip` tinyint(4) DEFAULT NULL,
  `Betaald` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`Did`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `EbookRapportageOpties`
--

CREATE TABLE `EbookRapportageOpties` (
  `Klantid` int(11) NOT NULL,
  `mailRapport` tinyint(1) NOT NULL DEFAULT '0',
  `ebookTab` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `EreaderEanInstellingen`
--

CREATE TABLE `EreaderEanInstellingen` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Ean` varchar(13) NOT NULL,
  `Type` enum('pakket','gratis') NOT NULL,
  `AanmaakDatum` datetime NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `EreaderLocaties`
--

CREATE TABLE `EreaderLocaties` (
  `Klantid` int(11) NOT NULL,
  `Ean` varchar(13) NOT NULL,
  `Bestandsnaam` varchar(255) NOT NULL,
  `Locatie` enum('Nieuw','Archief','Kast') DEFAULT 'Archief',
  `AanvraagStatus` enum('Aangevraagd','Bevestigd') DEFAULT NULL,
  `AanvraagLocatie` enum('Nieuw','Archief','Kast') DEFAULT NULL,
  `DTclient` datetime DEFAULT NULL,
  `DTserver` datetime DEFAULT NULL,
  `Clientid` varchar(100) DEFAULT NULL,
  `DTarchief` datetime DEFAULT NULL,
  `DTdownload` datetime DEFAULT NULL,
  `DTrecent` datetime DEFAULT NULL,
  `Nieuw` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`Klantid`,`Ean`,`Bestandsnaam`),
  KEY `Klantid` (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `before_insert_ereaderLocaties` BEFORE INSERT ON `EreaderLocaties` 
    FOR EACH ROW BEGIN
	
	
	
	
	 
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_insert_ereaderLocaties` AFTER INSERT ON `EreaderLocaties` 
    FOR EACH ROW BEGIN
	INSERT INTO `EreaderLocatiesLog` SET 
	DTLog=NOW(),
	LogGebruiker=@initials,
	Klantid=NEW.Klantid,
	Ean = NEW.Ean,
	Bestandsnaam=NEW.Bestandsnaam,
	Locatie=NEW.Locatie,
	AanvraagStatus=NEW.AanvraagStatus,	
	AanvraagLocatie=NEW.AanvraagLocatie,
	DTclient=NEW.DTclient,
	DTserver=NEW.DTserver,
	Clientid=NEW.Clientid,
	DTarchief=NEW.DTarchief,
	DTdownload=NEW.DTdownload,
	DTrecent=NEW.DTrecent,
	Nieuw=NEW.Nieuw;
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `before_update_ereaderLocaties` BEFORE UPDATE ON `EreaderLocaties` 
    FOR EACH ROW BEGIN
	IF OLD.Locatie = 'Archief' AND NEW.Locatie = 'Kast' THEN
		SET NEW.Nieuw = 0;
	END IF;
    END */;;
DELIMITER ;
ALTER DATABASE `Computerboek_Klanten` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_update_ereaderLocaties` AFTER UPDATE ON `Computerboek_Klanten`.`EreaderLocaties` FOR EACH ROW BEGIN
	INSERT INTO `EreaderLocatiesLog` SET 
	DTLog=NOW(),
	LogGebruiker=@initials,
	Bestandsnaam=NEW.Bestandsnaam,
	Klantid=NEW.Klantid,
	Locatie=NEW.Locatie,
	AanvraagLocatie=NEW.AanvraagLocatie,
	AanvraagStatus=NEW.AanvraagStatus,
	DTclient=NEW.DTclient,
	DTserver=NEW.DTserver,
	Clientid=NEW.Clientid;
    END */;;
DELIMITER ;
ALTER DATABASE `Computerboek_Klanten` CHARACTER SET utf8 COLLATE utf8_general_ci ;

--
-- Table structure for table `EreaderLocatiesLog`
--

CREATE TABLE `EreaderLocatiesLog` (
  `LogId` int(11) NOT NULL AUTO_INCREMENT,
  `DTLog` datetime DEFAULT NULL,
  `LogGebruiker` char(5) DEFAULT NULL,
  `Klantid` int(11) NOT NULL,
  `Ean` varchar(13) DEFAULT NULL,
  `Bestandsnaam` varchar(255) NOT NULL,
  `Locatie` enum('Nieuw','Archief','Kast') DEFAULT 'Archief',
  `AanvraagStatus` enum('Aangevraagd','Bevestigd') DEFAULT NULL,
  `AanvraagLocatie` enum('Nieuw','Archief','Kast') DEFAULT NULL,
  `DTclient` datetime DEFAULT NULL,
  `DTserver` datetime DEFAULT NULL,
  `Clientid` varchar(100) DEFAULT NULL,
  `DTarchief` datetime DEFAULT NULL,
  `DTdownload` datetime DEFAULT NULL,
  `DTrecent` datetime DEFAULT NULL,
  `Nieuw` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`LogId`),
  KEY `bestandsnaam,` (`Bestandsnaam`,`Klantid`),
  KEY `Datumtijd` (`DTLog`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `EreaderMarkeringen`
--

CREATE TABLE `EreaderMarkeringen` (
  `Markeringid` int(11) NOT NULL AUTO_INCREMENT,
  `Bestandsnaam` varchar(255) NOT NULL,
  `Klantid` int(11) NOT NULL,
  `MarkeringType` enum('Markering','Notitie') NOT NULL,
  `StartPad` varchar(255) NOT NULL,
  `StartLocatie` varchar(255) NOT NULL,
  `StartPositie` int(11) NOT NULL,
  `EindPad` varchar(255) NOT NULL,
  `EindLocatie` varchar(255) NOT NULL,
  `EindPositie` int(11) NOT NULL,
  `Ean` char(13) DEFAULT NULL,
  `Inhoud` mediumtext,
  `DTclient` datetime DEFAULT NULL,
  `DTserver` datetime DEFAULT NULL,
  `Verwijderd` tinyint(1) DEFAULT '0',
  `Clientid` varchar(100) DEFAULT NULL,
  `Hoofdstuk` varchar(255) DEFAULT NULL,
  `GeselecteerdeTekst` text,
  PRIMARY KEY (`Markeringid`),
  KEY `Bestandsnaam` (`Bestandsnaam`),
  KEY `Klantid` (`Klantid`),
  KEY `MarkeringType` (`MarkeringType`),
  KEY `zoeken` (`Bestandsnaam`,`Klantid`,`MarkeringType`,`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `EreaderSynchronisaties`
--

CREATE TABLE `EreaderSynchronisaties` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Klantid` int(11) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Type` enum('verdeling','markeringen') DEFAULT NULL,
  `Clientid` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `ExactArtikelen`
--

CREATE TABLE `ExactArtikelen` (
  `Code` varchar(20) NOT NULL DEFAULT '',
  `Titel` varchar(255) DEFAULT NULL,
  `Auteur` varchar(255) DEFAULT NULL,
  `Prijs` decimal(8,2) DEFAULT NULL,
  `VastePrijs` decimal(8,2) DEFAULT NULL,
  `ActiePrijs` decimal(8,2) DEFAULT NULL,
  `BriefCode` varchar(20) DEFAULT NULL,
  `BackorderCode` int(11) DEFAULT NULL,
  `ExactArtikel` tinyint(4) DEFAULT '0',
  `BTWCode` char(1) NOT NULL,
  `ArtikelGroep` char(4) NOT NULL,
  `Boeksoort` char(1) NOT NULL,
  `Bindwijze` varchar(255) NOT NULL,
  `Magazijnsoort` varchar(5) NOT NULL,
  `Magazijnlocatienummer` char(4) NOT NULL,
  `NietInpakken` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Code`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `ExactArtikelenLog`
--

CREATE TABLE `ExactArtikelenLog` (
  `Code` varchar(20) NOT NULL DEFAULT '',
  `Titel` varchar(255) DEFAULT NULL,
  `Auteur` varchar(255) DEFAULT NULL,
  `Prijs` decimal(8,2) DEFAULT NULL,
  `VastePrijs` decimal(8,2) DEFAULT NULL,
  `ActiePrijs` decimal(8,2) DEFAULT NULL,
  `BriefCode` varchar(20) DEFAULT NULL,
  `BackorderCode` int(11) DEFAULT NULL,
  `ExactArtikel` tinyint(4) DEFAULT '0',
  `BTWCode` char(1) NOT NULL,
  `ArtikelGroep` char(4) NOT NULL,
  `Boeksoort` char(1) NOT NULL,
  `Bindwijze` varchar(255) NOT NULL,
  `Magazijnsoort` varchar(5) NOT NULL,
  `Magazijnlocatienummer` char(4) NOT NULL,
  `LogId` int(11) NOT NULL AUTO_INCREMENT,
  `LogGebruiker` char(4) DEFAULT NULL,
  `DTLog` datetime DEFAULT NULL,
  PRIMARY KEY (`LogId`),
  KEY `Code` (`Code`),
  KEY `DTLog` (`DTLog`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `ExactBackorders`
--

CREATE TABLE `ExactBackorders` (
  `ID` int(11) NOT NULL,
  `OrderID` int(11) NOT NULL,
  `DT` date DEFAULT NULL,
  PRIMARY KEY (`ID`),
  KEY `OrderID` (`OrderID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Facturen`
--

CREATE TABLE `Facturen` (
  `FactuurID` int(11) NOT NULL DEFAULT '0',
  `OrderID` int(11) NOT NULL DEFAULT '0',
  `DT` date DEFAULT NULL,
  `Bedrag` decimal(12,2) DEFAULT NULL,
  `OpenBedrag` decimal(12,2) DEFAULT NULL,
  `Status` enum('nieuw','open','betaald') DEFAULT NULL,
  PRIMARY KEY (`FactuurID`,`OrderID`),
  KEY `DT` (`DT`),
  KEY `Status` (`Status`),
  KEY `OrderID` (`OrderID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `FactuurTeksten`
--

CREATE TABLE `FactuurTeksten` (
  `Ean` char(13) NOT NULL,
  `Tekst` mediumtext NOT NULL,
  `Volgorde` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Hooks`
--

CREATE TABLE `Hooks` (
  `Hook` char(64) DEFAULT NULL,
  `Klantid` int(11) DEFAULT NULL,
  `Cleardate` date DEFAULT NULL,
  KEY `Hook` (`Hook`),
  KEY `Cleardate` (`Cleardate`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Temporary table structure for view `HuidigeOrderstatussen`
--

/*!50001 DROP VIEW IF EXISTS `HuidigeOrderstatussen`*/;
/*!50001 CREATE TABLE `HuidigeOrderstatussen` (
  `StatusId` tinyint NOT NULL,
  `BestellingId` tinyint NOT NULL,
  `Resultaat` tinyint NOT NULL,
  `Gebruiker` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `Naam` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `ToonAlsOpenOrder` tinyint NOT NULL,
  `Volgorde` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `HulpBijBestellingenHistory`
--

CREATE TABLE `HulpBijBestellingenHistory` (
  `Ean` char(13) NOT NULL,
  `DT` date NOT NULL,
  `Recommendation` int(11) DEFAULT NULL,
  PRIMARY KEY (`Ean`,`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `IPHistorie`
--

CREATE TABLE `IPHistorie` (
  `Klantid` int(11) NOT NULL,
  `IPAdres` char(16) NOT NULL,
  `DTLaatsteBezoek` datetime DEFAULT NULL,
  PRIMARY KEY (`IPAdres`,`Klantid`),
  KEY `IPAdres` (`IPAdres`,`Klantid`),
  KEY `Klantid` (`Klantid`,`DTLaatsteBezoek`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `IdealBestellingStatus`
--

CREATE TABLE `IdealBestellingStatus` (
  `BestellingId` int(11) NOT NULL,
  `TransactionId` char(16) NOT NULL DEFAULT '0',
  `TransactionStatus` enum('open','expired','completed','new','error','cancelled') NOT NULL DEFAULT 'new',
  `Expiration` datetime NOT NULL DEFAULT '1980-01-01 00:00:00',
  `Totaal` decimal(6,2) NOT NULL DEFAULT '0.00',
  `Message` varchar(255) NOT NULL DEFAULT '',
  `Kenmerk` varchar(20) NOT NULL DEFAULT '',
  PRIMARY KEY (`BestellingId`,`TransactionId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Kadobonnen`
--

CREATE TABLE `Kadobonnen` (
  `Bonid` int(11) NOT NULL AUTO_INCREMENT,
  `Bonnummer` varchar(12) DEFAULT NULL,
  `Bonverstrekkerid` int(11) NOT NULL DEFAULT '0',
  `Koperid` int(11) DEFAULT NULL,
  `Klantid` int(11) DEFAULT NULL,
  `Startdatum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `Vervaldatum` date DEFAULT '0000-00-00',
  `Prijs` double(8,4) DEFAULT '0.0000',
  `Waarde` double(8,4) DEFAULT '0.0000',
  `Saldo` double(8,4) DEFAULT '0.0000',
  `Overdraagbaar` tinyint(4) DEFAULT '0',
  `Combineerbaar` tinyint(4) DEFAULT '1',
  `Geblokkeerd` tinyint(4) DEFAULT '1',
  `Koperboodschap` mediumblob,
  `Empty1` mediumblob,
  `Empty2` mediumblob,
  `Empty3` mediumblob,
  `Empty4` mediumblob,
  `Empty5` mediumblob,
  `Empty6` mediumblob,
  `Nietvoorboeken` tinyint(4) DEFAULT '0',
  PRIMARY KEY (`Bonid`),
  KEY `i1` (`Bonnummer`),
  KEY `i2` (`Bonverstrekkerid`),
  KEY `i3` (`Koperid`),
  KEY `i4` (`Klantid`),
  KEY `i5` (`Startdatum`),
  KEY `i6` (`Vervaldatum`)
) ENGINE=InnoDB AUTO_INCREMENT=1212 DEFAULT CHARSET=latin1;

--
-- Table structure for table `KassaKoopjes`
--

CREATE TABLE `KassaKoopjes` (
  `Ean` char(13) NOT NULL,
  `type` enum('ramsj','regulier') NOT NULL,
  `toonvanaf` date NOT NULL,
  `startvoorraad` int(11) NOT NULL,
  `verkochtsinds` int(11) NOT NULL,
  `isactief` int(11) NOT NULL,
  PRIMARY KEY (`Ean`,`type`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KassaKoopjesViews`
--

CREATE TABLE `KassaKoopjesViews` (
  `Ean` char(13) NOT NULL,
  `DT` date NOT NULL,
  `Views` int(11) DEFAULT '0',
  `Clicks` int(11) DEFAULT '0',
  PRIMARY KEY (`Ean`,`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantAanbevolenBasis`
--

CREATE TABLE `KlantAanbevolenBasis` (
  `Klantid` int(11) NOT NULL,
  `Ean` char(13) NOT NULL,
  `DTBesteld` date DEFAULT NULL,
  `Reden` enum('besteld','inbezit','rating') DEFAULT 'besteld',
  PRIMARY KEY (`Klantid`,`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantAanbevolenBerekend`
--

CREATE TABLE `KlantAanbevolenBerekend` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `DT` datetime DEFAULT NULL,
  PRIMARY KEY (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantAanbevolenEans`
--

CREATE TABLE `KlantAanbevolenEans` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `RecommendedEan` char(13) NOT NULL DEFAULT '',
  `Positie` float NOT NULL DEFAULT '0',
  `DTOntstaan` datetime DEFAULT NULL,
  `Status` tinyint(4) NOT NULL,
  PRIMARY KEY (`Klantid`,`RecommendedEan`),
  KEY `NewIndex1` (`Positie`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantAanbevolenExcludeBron`
--

CREATE TABLE `KlantAanbevolenExcludeBron` (
  `Klantid` int(11) NOT NULL,
  `Ean` char(13) NOT NULL,
  `DT` datetime NOT NULL,
  `Reden` char(20) NOT NULL,
  PRIMARY KEY (`Klantid`,`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantAanbevolenGemaild`
--

CREATE TABLE `KlantAanbevolenGemaild` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `RecommendedEan` char(13) NOT NULL DEFAULT '',
  `DT` datetime DEFAULT NULL,
  PRIMARY KEY (`Klantid`,`RecommendedEan`),
  KEY `DT` (`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantAanbevolenGezien`
--

CREATE TABLE `KlantAanbevolenGezien` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `Ean` char(13) NOT NULL DEFAULT '',
  `DTGezien` date DEFAULT NULL,
  PRIMARY KEY (`Klantid`,`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantAanbevolenReden`
--

CREATE TABLE `KlantAanbevolenReden` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `RecommendedEan` char(13) NOT NULL DEFAULT '',
  `Ean` char(13) NOT NULL DEFAULT '',
  PRIMARY KEY (`Klantid`,`RecommendedEan`,`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantAdresboek`
--

CREATE TABLE `KlantAdresboek` (
  `AdresboekId` int(11) NOT NULL AUTO_INCREMENT,
  `Klantid` int(11) NOT NULL,
  `Geslacht` varchar(5) NOT NULL,
  `Voorletters` varchar(5) NOT NULL,
  `Achternaam` varchar(35) NOT NULL,
  `Bedrijfsnaam` varchar(35) NOT NULL,
  `Bedrijfsnaam2` varchar(35) NOT NULL,
  `Afdeling` varchar(35) NOT NULL,
  `Straatnaam` varchar(50) NOT NULL,
  `Huisnummer` int(11) NOT NULL,
  `HuisnummerToevoeging` varchar(5) NOT NULL,
  `Postcode` varchar(7) NOT NULL,
  `Plaatsnaam` varchar(50) NOT NULL,
  PRIMARY KEY (`AdresboekId`),
  UNIQUE KEY `Voorletters` (`Voorletters`,`Achternaam`,`Bedrijfsnaam`,`Straatnaam`,`Huisnummer`,`HuisnummerToevoeging`,`Postcode`,`Plaatsnaam`),
  KEY `Klantid` (`Klantid`),
  CONSTRAINT `KlantAdresboek_ibfk_1` FOREIGN KEY (`Klantid`) REFERENCES `Klanten` (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `KlantBoekTrefwoorden`
--

CREATE TABLE `KlantBoekTrefwoorden` (
  `Ean` char(13) NOT NULL,
  `Trefwoordid` int(11) NOT NULL,
  `Klantid` int(11) NOT NULL,
  KEY `Trefwoordid` (`Trefwoordid`),
  KEY `Klantid` (`Klantid`),
  KEY `Ean` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantCookiePolicy`
--

CREATE TABLE `KlantCookiePolicy` (
  `Klantid` int(11) NOT NULL,
  `CookieValue` int(11) NOT NULL,
  PRIMARY KEY (`Klantid`),
  CONSTRAINT `KlantCookiePolicy_ibfk_1` FOREIGN KEY (`Klantid`) REFERENCES `Klanten` (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `KlantFavorieten`
--

CREATE TABLE `KlantFavorieten` (
  `Klantid` int(11) DEFAULT NULL,
  `Ean` char(13) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantKenmerken`
--

CREATE TABLE `KlantKenmerken` (
  `Klantid` int(11) NOT NULL,
  `Kenmerk` char(6) NOT NULL,
  PRIMARY KEY (`Klantid`,`Kenmerk`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantMailchimp`
--

CREATE TABLE `KlantMailchimp` (
  `Klantid` int(11) NOT NULL,
  `DT` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantMailinglistLog`
--

CREATE TABLE `KlantMailinglistLog` (
  `DT` datetime NOT NULL,
  `KlantId` int(11) NOT NULL DEFAULT '0',
  `Email` varchar(255) NOT NULL,
  `Mailinglistid` int(11) NOT NULL DEFAULT '0',
  `Subscribe` tinyint(4) DEFAULT '0',
  `Sync` tinyint(4) DEFAULT '0',
  PRIMARY KEY (`DT`,`KlantId`,`Email`,`Mailinglistid`),
  KEY `DT` (`DT`),
  KEY `Sync` (`Sync`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `KlantPorto`
--

CREATE TABLE `KlantPorto` (
  `Klantid` int(11) NOT NULL,
  `PortoGratisNavEnquete` tinyint(1) NOT NULL,
  `PortoStrippenKaart` int(11) NOT NULL,
  `PortoGratisExp` date NOT NULL DEFAULT '2020-01-01',
  `PortoStrippenExp` date NOT NULL DEFAULT '2020-01-01',
  PRIMARY KEY (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `KlantRecentieWaarderingen`
--

CREATE TABLE `KlantRecentieWaarderingen` (
  `Klantrecentieid` int(11) NOT NULL,
  `Klantid` int(11) NOT NULL,
  `Nuttig` tinyint(1) DEFAULT '1',
  KEY `Klantrecentieid` (`Klantrecentieid`),
  KEY `Klantid` (`Klantid`),
  KEY `Nuttig` (`Nuttig`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantRecenties`
--

CREATE TABLE `KlantRecenties` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Klantid` int(11) NOT NULL,
  `Ean` char(13) NOT NULL,
  `DT` datetime DEFAULT NULL,
  `Anonymous` tinyint(1) DEFAULT '0',
  `Authorised` tinyint(1) DEFAULT '1',
  `Stemmen` tinyint(1) DEFAULT '0',
  `Nuttig` int(11) DEFAULT '0',
  `Titel` varchar(255) DEFAULT NULL,
  `Recentie` text,
  `Moderated` tinyint(1) NOT NULL,
  `IP` varchar(16) DEFAULT NULL,
  `Type` enum('reactie','recensie','auteurbijdrage') DEFAULT 'reactie',
  PRIMARY KEY (`Id`),
  KEY `Klantid` (`Klantid`),
  KEY `Artikelcode` (`Ean`),
  KEY `Authorised` (`Authorised`,`DT`)
) ENGINE=InnoDB AUTO_INCREMENT=168 DEFAULT CHARSET=utf8;

--
-- Table structure for table `KlantRecenties_Tellingen`
--

CREATE TABLE `KlantRecenties_Tellingen` (
  `Ean` char(13) NOT NULL DEFAULT '',
  `lezersrecensies` tinyint(4) DEFAULT NULL,
  `auteursbijdragen` tinyint(4) DEFAULT NULL,
  `last_lezers_dt` date DEFAULT NULL,
  `last_auteurs_dt` date DEFAULT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantRecenties_TellingenTemp`
--

CREATE TABLE `KlantRecenties_TellingenTemp` (
  `lezersrecensies` tinyint(4) DEFAULT NULL,
  `auteursbijdragen` tinyint(4) DEFAULT NULL,
  `last_lezers_dt` date DEFAULT NULL,
  `last_auteurs_dt` date DEFAULT NULL,
  `Ean` char(13) NOT NULL DEFAULT '',
  `lezers` decimal(24,0) DEFAULT NULL,
  `auteurs` decimal(23,0) DEFAULT NULL,
  `lezers_dt` varbinary(10) DEFAULT NULL,
  `auteur_dt` varbinary(10) DEFAULT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantTrefwoorden`
--

CREATE TABLE `KlantTrefwoorden` (
  `Klantid` int(11) NOT NULL,
  `Trefwoordid` int(11) NOT NULL,
  `Publiek` tinyint(1) DEFAULT '1',
  KEY `Trefwoordid` (`Trefwoordid`),
  KEY `Publiek` (`Publiek`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantTwitter`
--

CREATE TABLE `KlantTwitter` (
  `KlantId` int(11) NOT NULL,
  `TwitterId` int(11) DEFAULT NULL,
  `oAuthToken` varchar(75) DEFAULT NULL,
  PRIMARY KEY (`KlantId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantUitgever`
--

CREATE TABLE `KlantUitgever` (
  `klantId` int(11) NOT NULL,
  `uitgeverId` int(11) NOT NULL,
  PRIMARY KEY (`klantId`,`uitgeverId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantVinken`
--

CREATE TABLE `KlantVinken` (
  `Klantid` int(11) NOT NULL,
  `A` tinyint(1) NOT NULL DEFAULT '0',
  `FAC` tinyint(1) NOT NULL DEFAULT '0',
  `G` tinyint(1) NOT NULL DEFAULT '0',
  `KNK` tinyint(1) NOT NULL DEFAULT '0',
  `KNM` tinyint(1) NOT NULL DEFAULT '0',
  `WAN` tinyint(1) NOT NULL DEFAULT '0',
  `WANAFG` tinyint(1) NOT NULL DEFAULT '0',
  `OPL` tinyint(1) NOT NULL DEFAULT '0',
  `EDR` tinyint(1) NOT NULL DEFAULT '0',
  `EXP` tinyint(1) NOT NULL DEFAULT '0',
  `EXPWAN` tinyint(1) NOT NULL DEFAULT '0',
  `FAIL` tinyint(1) NOT NULL DEFAULT '0',
  `VERW` tinyint(1) NOT NULL DEFAULT '0',
  `VerhuisStatus` enum('0','1','2','3','4') NOT NULL DEFAULT '0',
  `Mailen` tinyint(1) NOT NULL DEFAULT '0',
  `Emailen` tinyint(1) NOT NULL DEFAULT '0',
  `VouchersMaken` tinyint(1) NOT NULL DEFAULT '0',
  `Institutioneel` tinyint(1) NOT NULL DEFAULT '0',
  `AchterafFactureren` tinyint(4) NOT NULL DEFAULT '0',
  `UitsluitenRanking` tinyint(1) DEFAULT '0',
  `UitgebreidFactureren` tinyint(1) DEFAULT '0',
  `Min5Bij2Ex` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Zie JON-95',
  PRIMARY KEY (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `KlantWijzigingen`
--

CREATE TABLE `KlantWijzigingen` (
  `Klantid` int(11) DEFAULT NULL,
  `Type` varchar(500) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Wie` varchar(255) DEFAULT NULL,
  KEY `Klantid` (`Klantid`,`DT`),
  KEY `NewIndex1` (`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Klanten`
--

CREATE TABLE `Klanten` (
  `Klantid` int(11) NOT NULL AUTO_INCREMENT,
  `Wachtwoord` varchar(1) NOT NULL,
  `WachtwoordZout` char(16) DEFAULT NULL,
  `WachtwoordAlgo` char(8) DEFAULT NULL,
  `WachtwoordAantal` int(11) DEFAULT NULL,
  `WachtwoordEncrypted` varchar(41) NOT NULL,
  `Emailadres` varchar(200) DEFAULT NULL,
  `Emailadres_oud` varchar(200) DEFAULT NULL,
  `Geabonneerd` smallint(6) DEFAULT '0',
  `Magbestellen` smallint(6) DEFAULT '1',
  `Heefttoegang` smallint(6) DEFAULT '1',
  `Redenontzegging` mediumblob,
  `Siteid` int(11) DEFAULT NULL,
  `Herkomstid` int(11) DEFAULT '0',
  `Domeincheck` smallint(6) DEFAULT '0',
  `DTaanmaak` datetime DEFAULT NULL,
  `DTlaatstebezoek` datetime DEFAULT NULL,
  `Aantalbezoeken` int(11) DEFAULT '0',
  `Exactid` int(11) DEFAULT '0',
  `Winkelkarmail` smallint(6) DEFAULT '1',
  `IP` varchar(15) DEFAULT NULL,
  `IPlaatstebezoek` varchar(15) DEFAULT NULL,
  `Mailcode` varchar(10) DEFAULT 'K',
  `AdresStatus` enum('unauthorized','authorized','locked') NOT NULL DEFAULT 'unauthorized',
  `DTLock` datetime DEFAULT NULL,
  `Bankrekening` varchar(18) NOT NULL,
  `Bankrekening_oud` varchar(18) NOT NULL,
  `Girorekening` varchar(18) NOT NULL,
  `ReferrerDomain` varchar(200) NOT NULL,
  `DTGewaardeerdeKlant` datetime DEFAULT NULL,
  `GeenOplichter` tinyint(4) NOT NULL DEFAULT '0',
  `BankrekeningIncasso` varchar(18) NOT NULL,
  `InitieleOptOutVink` tinyint(4) NOT NULL DEFAULT '0',
  `Notities` mediumtext NOT NULL,
  `NotitiePopup` tinyint(4) NOT NULL DEFAULT '0',
  `DTWijziging` datetime DEFAULT NULL,
  `AutorisatieNodig` tinyint(4) NOT NULL DEFAULT '0',
  `FactuurKlantid` int(11) NOT NULL,
  `AanmaakGebruiker` char(3) NOT NULL,
  `OntvangtStemMail` tinyint(4) NOT NULL DEFAULT '1',
  `Betaalmethode` char(1) DEFAULT 'A',
  `Betalingsconditie` int(11) NOT NULL DEFAULT '14',
  `AutomatischGeautoriseerd` tinyint(4) DEFAULT NULL,
  `ExperianCheck` tinyint(4) NOT NULL,
  `Twitter` varchar(50) DEFAULT NULL,
  `Linkedin` varchar(255) DEFAULT NULL,
  `ExactEmailadres` varchar(200) DEFAULT NULL,
  `LockGebruiker` char(3) NOT NULL,
  `DTExactSynchronisatie` datetime DEFAULT NULL,
  `InExact` tinyint(4) DEFAULT '0',
  `VerstuurCompleteOrderDefault` tinyint(4) NOT NULL DEFAULT '0',
  `AutorisatieReden` varchar(255) DEFAULT NULL,
  `KostenplaatsLijstId` int(11) DEFAULT NULL,
  `VoorkeurSiteId` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Klantid`),
  KEY `Siteid` (`Siteid`),
  KEY `Herkomstid` (`Herkomstid`),
  KEY `Domeincheck` (`Domeincheck`),
  KEY `Aantalbezoeken_index` (`Aantalbezoeken`),
  KEY `DTaanmaak_Index` (`DTaanmaak`),
  KEY `DTlaatstebezoek_Index` (`DTlaatstebezoek`),
  KEY `Exactid` (`Exactid`),
  KEY `Emailadres` (`Emailadres`),
  KEY `ReferrerDomain` (`ReferrerDomain`),
  KEY `AutorisatieNodig` (`AutorisatieNodig`),
  KEY `IP` (`IP`),
  KEY `AdresStatus` (`AdresStatus`,`AutomatischGeautoriseerd`,`AutorisatieNodig`),
  KEY `AutomatischGeautoriseerd` (`AutomatischGeautoriseerd`,`AdresStatus`),
  KEY `InExact` (`InExact`)
) ENGINE=InnoDB AUTO_INCREMENT=2821316 DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_insert_klanten` AFTER INSERT ON `Klanten` 
    FOR EACH ROW BEGIN
	INSERT IGNORE INTO KlantVinken SET 
		Klantid=NEW.Klantid,
		A = 0,
		FAC = 0,
		G = 0,
		KNK = 0,
		KNM = 0,
		WAN = 0,
		WANAFG = 0,
		OPL = 0,
		EDR = 0,
		EXP = 0,
		EXPWAN = 0,
		FAIL = 0,
		VERW = 0,
		VerhuisStatus = 0,
		Mailen = 1,
		Emailen = 1;	
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `before_update_klanten` BEFORE UPDATE ON `Klanten` 
    FOR EACH ROW BEGIN
    
	IF
	    NEW.AdresStatus = 'unauthorized' AND OLD.AdresStatus != 'unauthorized'
	THEN
	   SET NEW.InExact = 0;
	   SET NEW.DTExactSynchronisatie = NULL;	
	   SET NEW.AutomatischGeautoriseerd = 0;
	END IF;
        
	CALL log_klanten_wijziging( NEW.Klantid, 'Wachtwoord', OLD.Wachtwoord, NEW.Wachtwoord, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Emailadres', OLD.Emailadres, NEW.Emailadres, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Exactid', OLD.Exactid, NEW.Exactid, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Mailcode', OLD.Mailcode, NEW.Mailcode, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'AdresStatus', OLD.AdresStatus, NEW.AdresStatus, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Bankrekening', OLD.Bankrekening, NEW.Bankrekening, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'BankrekeningIncasso', OLD.BankrekeningIncasso, NEW.BankrekeningIncasso, @context, @initials );
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `after_update_klanten` AFTER UPDATE ON `Klanten` 
    FOR EACH ROW BEGIN
        DECLARE SUB INT;
        
    
    SELECT COUNT(*) INTO SUB FROM Klantmailinglist WHERE Klantid = NEW.Klantid AND Mailinglistid = 1;
    
    IF SUB > 0 AND OLD.Emailadres != NEW.Emailadres THEN
        REPLACE INTO KlantMailinglistLog VALUES ( NOW(), NEW.Klantid, OLD.Emailadres, 1, 0, 0 );
        REPLACE INTO KlantMailinglistLog VALUES ( NOW(), NEW.Klantid, NEW.Emailadres, 1, 1, 0 );
    END IF;
    END */;;
DELIMITER ;

--
-- Table structure for table `KlantenBlogAuteurs`
--

CREATE TABLE `KlantenBlogAuteurs` (
  `Klantid` int(11) NOT NULL,
  `BlogAuteurid` int(11) NOT NULL,
  `Blogid` int(11) NOT NULL,
  PRIMARY KEY (`Klantid`,`BlogAuteurid`,`Blogid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KlantenMetAanbevelingen`
--

CREATE TABLE `KlantenMetAanbevelingen` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `HeeftAanbevelingen` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `KlantenWijzigingen`
--

CREATE TABLE `KlantenWijzigingen` (
  `Klantid` int(11) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Veldnaam` varchar(100) DEFAULT NULL,
  `Voor` varchar(255) DEFAULT NULL,
  `Na` varchar(255) DEFAULT NULL,
  `Omschrijving` varchar(255) DEFAULT NULL,
  `Gebruiker` varchar(255) DEFAULT NULL,
  KEY `NewIndex1` (`Klantid`,`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Klanten_Zonder_Optin`
--

CREATE TABLE `Klanten_Zonder_Optin` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  KEY `Klantid` (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Temporary table structure for view `Klanten_handmatig_te_autoriseren`
--

/*!50001 DROP VIEW IF EXISTS `Klanten_handmatig_te_autoriseren`*/;
/*!50001 CREATE TABLE `Klanten_handmatig_te_autoriseren` (
  `ExperianCheck` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `Wachtwoord` tinyint NOT NULL,
  `Emailadres` tinyint NOT NULL,
  `Emailadres_oud` tinyint NOT NULL,
  `Geabonneerd` tinyint NOT NULL,
  `Magbestellen` tinyint NOT NULL,
  `Heefttoegang` tinyint NOT NULL,
  `Redenontzegging` tinyint NOT NULL,
  `Siteid` tinyint NOT NULL,
  `Herkomstid` tinyint NOT NULL,
  `Domeincheck` tinyint NOT NULL,
  `DTaanmaak` tinyint NOT NULL,
  `DTlaatstebezoek` tinyint NOT NULL,
  `Aantalbezoeken` tinyint NOT NULL,
  `Exactid` tinyint NOT NULL,
  `Winkelkarmail` tinyint NOT NULL,
  `IP` tinyint NOT NULL,
  `IPlaatstebezoek` tinyint NOT NULL,
  `Mailcode` tinyint NOT NULL,
  `AdresStatus` tinyint NOT NULL,
  `DTLock` tinyint NOT NULL,
  `Bankrekening` tinyint NOT NULL,
  `Bankrekening_oud` tinyint NOT NULL,
  `ReferrerDomain` tinyint NOT NULL,
  `DTGewaardeerdeKlant` tinyint NOT NULL,
  `GeenOplichter` tinyint NOT NULL,
  `BankrekeningIncasso` tinyint NOT NULL,
  `Adresid` tinyint NOT NULL,
  `Voornaam` tinyint NOT NULL,
  `Voornaam_oud` tinyint NOT NULL,
  `Achternaam` tinyint NOT NULL,
  `Achternaam_oud` tinyint NOT NULL,
  `Bedrijfsnaam` tinyint NOT NULL,
  `Bedrijfsnaam_oud` tinyint NOT NULL,
  `Bedrijfsnaam2` tinyint NOT NULL,
  `Afdeling` tinyint NOT NULL,
  `Afdeling_oud` tinyint NOT NULL,
  `Functie` tinyint NOT NULL,
  `Functie_oud` tinyint NOT NULL,
  `Adres` tinyint NOT NULL,
  `Adres_oud` tinyint NOT NULL,
  `Postcode` tinyint NOT NULL,
  `Postcode_oud` tinyint NOT NULL,
  `Plaats` tinyint NOT NULL,
  `Plaats_oud` tinyint NOT NULL,
  `Telefoonnummer` tinyint NOT NULL,
  `Telefoonnummer_oud` tinyint NOT NULL,
  `Faxnummer` tinyint NOT NULL,
  `Faxnummer_oud` tinyint NOT NULL,
  `Geslacht` tinyint NOT NULL,
  `Geslacht_oud` tinyint NOT NULL,
  `DTadreswijziging` tinyint NOT NULL,
  `Adrestype` tinyint NOT NULL,
  `Straatnaam` tinyint NOT NULL,
  `Straatnaam_oud` tinyint NOT NULL,
  `Huisnummer` tinyint NOT NULL,
  `Huisnummer_oud` tinyint NOT NULL,
  `Huisnummertoevoeging` tinyint NOT NULL,
  `Huisnummertoevoeging_oud` tinyint NOT NULL,
  `ExactEmailadres` tinyint NOT NULL,
  `Notities` tinyint NOT NULL,
  `InExact` tinyint NOT NULL,
  `AutomatischGeautoriseerd` tinyint NOT NULL,
  `AutorisatieReden` tinyint NOT NULL,
  `AutorisatieNodig` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Klanten_met_adres`
--

/*!50001 DROP VIEW IF EXISTS `Klanten_met_adres`*/;
/*!50001 CREATE TABLE `Klanten_met_adres` (
  `ExperianCheck` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `Wachtwoord` tinyint NOT NULL,
  `Emailadres` tinyint NOT NULL,
  `Emailadres_oud` tinyint NOT NULL,
  `Geabonneerd` tinyint NOT NULL,
  `Magbestellen` tinyint NOT NULL,
  `Heefttoegang` tinyint NOT NULL,
  `Redenontzegging` tinyint NOT NULL,
  `Siteid` tinyint NOT NULL,
  `Herkomstid` tinyint NOT NULL,
  `Domeincheck` tinyint NOT NULL,
  `DTaanmaak` tinyint NOT NULL,
  `DTlaatstebezoek` tinyint NOT NULL,
  `Aantalbezoeken` tinyint NOT NULL,
  `Exactid` tinyint NOT NULL,
  `Winkelkarmail` tinyint NOT NULL,
  `IP` tinyint NOT NULL,
  `IPlaatstebezoek` tinyint NOT NULL,
  `Mailcode` tinyint NOT NULL,
  `AdresStatus` tinyint NOT NULL,
  `DTLock` tinyint NOT NULL,
  `Bankrekening` tinyint NOT NULL,
  `Bankrekening_oud` tinyint NOT NULL,
  `ReferrerDomain` tinyint NOT NULL,
  `DTGewaardeerdeKlant` tinyint NOT NULL,
  `GeenOplichter` tinyint NOT NULL,
  `BankrekeningIncasso` tinyint NOT NULL,
  `Adresid` tinyint NOT NULL,
  `Voornaam` tinyint NOT NULL,
  `Voornaam_oud` tinyint NOT NULL,
  `Achternaam` tinyint NOT NULL,
  `Achternaam_oud` tinyint NOT NULL,
  `Bedrijfsnaam` tinyint NOT NULL,
  `Bedrijfsnaam_oud` tinyint NOT NULL,
  `Bedrijfsnaam2` tinyint NOT NULL,
  `Afdeling` tinyint NOT NULL,
  `Afdeling_oud` tinyint NOT NULL,
  `Functie` tinyint NOT NULL,
  `Functie_oud` tinyint NOT NULL,
  `Adres` tinyint NOT NULL,
  `Adres_oud` tinyint NOT NULL,
  `Postcode` tinyint NOT NULL,
  `Postcode_oud` tinyint NOT NULL,
  `Plaats` tinyint NOT NULL,
  `Plaats_oud` tinyint NOT NULL,
  `Telefoonnummer` tinyint NOT NULL,
  `Telefoonnummer_oud` tinyint NOT NULL,
  `Faxnummer` tinyint NOT NULL,
  `Faxnummer_oud` tinyint NOT NULL,
  `Geslacht` tinyint NOT NULL,
  `Geslacht_oud` tinyint NOT NULL,
  `DTadreswijziging` tinyint NOT NULL,
  `Adrestype` tinyint NOT NULL,
  `Straatnaam` tinyint NOT NULL,
  `Straatnaam_oud` tinyint NOT NULL,
  `Huisnummer` tinyint NOT NULL,
  `Huisnummer_oud` tinyint NOT NULL,
  `Huisnummertoevoeging` tinyint NOT NULL,
  `Huisnummertoevoeging_oud` tinyint NOT NULL,
  `Land` tinyint NOT NULL,
  `ExactEmailadres` tinyint NOT NULL,
  `Notities` tinyint NOT NULL,
  `InExact` tinyint NOT NULL,
  `AutomatischGeautoriseerd` tinyint NOT NULL,
  `AutorisatieReden` tinyint NOT NULL,
  `AutorisatieNodig` tinyint NOT NULL,
  `Betalingsconditie` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `Klantmailinglist`
--

CREATE TABLE `Klantmailinglist` (
  `Klantid` int(11) DEFAULT NULL,
  `Mailinglistid` int(11) DEFAULT NULL,
  KEY `Klantid` (`Klantid`),
  KEY `Mailinglistid` (`Mailinglistid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `after_insert_Klantmailinglist` AFTER INSERT ON `Klantmailinglist` 
    FOR EACH ROW BEGIN
	DECLARE Email VARCHAR(255);
	SELECT K.`Emailadres` INTO Email FROM Klanten K WHERE KlantId = NEW.Klantid;
	IF NOT Email IS NULL THEN
		REPLACE INTO KlantMailinglistLog VALUES ( NOW(), NEW.Klantid, Email, NEW.Mailinglistid, 1, 0 );
	END IF;
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `before_delete_Klantmailinglist` BEFORE DELETE ON `Klantmailinglist` 
    FOR EACH ROW BEGIN
	DECLARE Email VARCHAR(255);
	
	IF NOT IFNULL(@mailchimp,0) = 1 THEN
		SELECT K.`Emailadres` INTO Email FROM Klanten K WHERE KlantId = OLD.Klantid;
		IF NOT Email IS NULL THEN
			REPLACE INTO KlantMailinglistLog VALUES ( NOW(), OLD.Klantid, Email, OLD.Mailinglistid, 0, 0 );
		END IF;	
	END IF;
    END */;;
DELIMITER ;

--
-- Table structure for table `Korting_Klanten`
--

CREATE TABLE `Korting_Klanten` (
  `KlantID` int(11) NOT NULL DEFAULT '0',
  `Percentage` decimal(5,2) NOT NULL DEFAULT '0.00',
  PRIMARY KEY (`KlantID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Korting_Klanten_Ean`
--

CREATE TABLE `Korting_Klanten_Ean` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `Ean` char(13) NOT NULL DEFAULT '',
  `Percentage` decimal(5,2) DEFAULT NULL,
  PRIMARY KEY (`Klantid`,`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Korting_Klanten_Uitgever`
--

CREATE TABLE `Korting_Klanten_Uitgever` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `UitgeverID` int(11) NOT NULL DEFAULT '0',
  `Percentage` decimal(11,2) DEFAULT NULL,
  PRIMARY KEY (`Klantid`,`UitgeverID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `KredietControle`
--

CREATE TABLE `KredietControle` (
  `KlantId` int(11) NOT NULL,
  `IsBedrijf` tinyint(4) NOT NULL,
  `IPAdres` char(16) NOT NULL,
  `AantalBestellingen` int(11) NOT NULL,
  `OpenFacturenTotaal` int(11) NOT NULL,
  `OpenBedragTotaal` decimal(8,2) NOT NULL,
  `OpenFacturenDownloads` int(11) NOT NULL,
  `OpenBedragDownloads` decimal(8,2) NOT NULL,
  `OudsteOpenFactuur` int(11) NOT NULL,
  `OudsteBestelling` int(11) NOT NULL,
  `GebruikHandmatigeVelden` tinyint(4) NOT NULL,
  `HandMaxOpenBedrag` int(11) NOT NULL,
  `HandMaxOpenPosten` int(11) NOT NULL,
  `HandMaxDownloadBedrag` int(11) NOT NULL,
  `HandMaxPostOuderdom` int(11) NOT NULL,
  `AantalBetalingen` int(11) NOT NULL,
  `FormuleMultiplier` decimal(3,1) NOT NULL DEFAULT '1.0',
  `MaxOpenPosten` int(11) NOT NULL DEFAULT '2',
  `MaxOpenBedrag` int(11) NOT NULL DEFAULT '125',
  `VooruitBetalen` tinyint(4) DEFAULT '1',
  PRIMARY KEY (`KlantId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Mailing_Groups`
--

CREATE TABLE `Mailing_Groups` (
  `Groupid` int(11) NOT NULL AUTO_INCREMENT,
  `Mailingid` int(11) NOT NULL DEFAULT '0',
  `SortOrder` int(11) NOT NULL DEFAULT '0',
  `Titel` varchar(255) NOT NULL DEFAULT '',
  `Rule_odd` varchar(4) NOT NULL DEFAULT '',
  `Rule_min` int(11) NOT NULL DEFAULT '0',
  `Rule_max` int(11) NOT NULL DEFAULT '0',
  `Rule_ordered` varchar(4) NOT NULL DEFAULT '',
  `Rule_EANs` text NOT NULL,
  `Rule_days` int(11) NOT NULL DEFAULT '0',
  `Rule_geslacht` varchar(4) DEFAULT NULL,
  PRIMARY KEY (`Groupid`),
  KEY `Mailingid` (`Mailingid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Mailing_List`
--

CREATE TABLE `Mailing_List` (
  `Mailingid` int(11) NOT NULL AUTO_INCREMENT,
  `DT` datetime DEFAULT NULL,
  `Titel` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`Mailingid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Mailing_Run`
--

CREATE TABLE `Mailing_Run` (
  `Runid` int(11) NOT NULL DEFAULT '0',
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `Groupid` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Runid`,`Klantid`),
  KEY `Groupid` (`Groupid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Mailing_Runs`
--

CREATE TABLE `Mailing_Runs` (
  `Runid` int(11) NOT NULL AUTO_INCREMENT,
  `Mailingid` int(11) NOT NULL DEFAULT '0',
  `DT` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`Runid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Mailinglist`
--

CREATE TABLE `Mailinglist` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Naam` varchar(200) DEFAULT NULL,
  `ListOrder` int(11) DEFAULT NULL,
  `Optout` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

--
-- Table structure for table `MatrixCheckValues`
--

CREATE TABLE `MatrixCheckValues` (
  `CheckId` int(11) NOT NULL,
  `Ean` char(13) CHARACTER SET latin1 NOT NULL,
  `DT` datetime NOT NULL,
  `CheckValue` decimal(6,2) NOT NULL,
  PRIMARY KEY (`CheckId`,`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `MatrixChecks`
--

CREATE TABLE `MatrixChecks` (
  `CheckId` int(11) NOT NULL AUTO_INCREMENT,
  `Sectie` char(30) NOT NULL,
  `SectieVolgorde` int(11) NOT NULL DEFAULT '0',
  `Omschrijving` char(100) NOT NULL,
  `Ster0` tinyint(4) NOT NULL DEFAULT '0',
  `Ster1` tinyint(4) NOT NULL DEFAULT '0',
  `Ster2` tinyint(4) NOT NULL DEFAULT '0',
  `Ster3` tinyint(4) NOT NULL DEFAULT '0',
  `Ster4` tinyint(4) NOT NULL DEFAULT '0',
  `Ster5` tinyint(4) NOT NULL DEFAULT '0',
  `Ster6` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`CheckId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `MatrixLastRun`
--

CREATE TABLE `MatrixLastRun` (
  `EAN` char(13) CHARACTER SET latin1 NOT NULL,
  `DT` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`EAN`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `Miscdata`
--

CREATE TABLE `Miscdata` (
  `Naam` varchar(200) NOT NULL,
  `XML` longblob,
  PRIMARY KEY (`Naam`),
  KEY `Naam` (`Naam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Notificatie`
--

CREATE TABLE `Notificatie` (
  `Klantid` int(11) DEFAULT NULL,
  `Notificatiestring` varchar(255) DEFAULT NULL,
  KEY `Klantid` (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `NuttigStemmen`
--

CREATE TABLE `NuttigStemmen` (
  `StemType` char(5) NOT NULL DEFAULT '',
  `Id` int(11) NOT NULL DEFAULT '0',
  `KlantId` int(11) NOT NULL DEFAULT '0',
  `Nuttig` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`StemType`,`Id`,`KlantId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `OptOutVinkLogging`
--

CREATE TABLE `OptOutVinkLogging` (
  `KlantID` int(11) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `IP` char(16) DEFAULT NULL,
  `NieuweStatus` tinyint(4) DEFAULT NULL,
  `Referrer` text,
  KEY `KlantID` (`KlantID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `OrderkopStatusPlat`
--

CREATE TABLE `OrderkopStatusPlat` (
  `BestellingId` int(11) NOT NULL,
  `exact_export` tinyint(4) NOT NULL DEFAULT '0',
  `exact_controle` tinyint(4) NOT NULL DEFAULT '0',
  `factuur_sturen_niet_nodig` tinyint(4) NOT NULL DEFAULT '0',
  `factuur_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `gefactureerd` tinyint(4) NOT NULL DEFAULT '0',
  `bevestigd` tinyint(4) NOT NULL DEFAULT '0',
  `is_geparkeerd` tinyint(4) NOT NULL DEFAULT '0',
  `ingepakt` tinyint(4) NOT NULL DEFAULT '0',
  `geannuleerd` tinyint(4) NOT NULL DEFAULT '0',
  `betaald` tinyint(4) NOT NULL DEFAULT '0',
  `openstaande_post_aangemaakt` tinyint(4) NOT NULL DEFAULT '0',
  `afgesloten` tinyint(4) NOT NULL DEFAULT '0',
  `vink_open` tinyint(4) NOT NULL DEFAULT '0',
  `niet_inpakken` tinyint(4) NOT NULL DEFAULT '0',
  `pakket_afgeleverd_volgens_postnl` tinyint(4) NOT NULL DEFAULT '0',
  `voorgemeld_bij_postnl` tinyint(4) NOT NULL DEFAULT '0',
  `inpakbevestiging_verzonden` tinyint(4) NOT NULL DEFAULT '0',
  `gecrediteerd` tinyint(4) NOT NULL DEFAULT '0',
  `enquete_verstuurd` tinyint(4) NOT NULL DEFAULT '0',
  `enquete_ingevuld` tinyint(4) NOT NULL DEFAULT '0',
  `opmerking_ingevuld` tinyint(4) NOT NULL DEFAULT '0',
  `opmerking_gemaild` tinyint(4) NOT NULL DEFAULT '0',
  `opmerking_verwerkt` tinyint(4) NOT NULL DEFAULT '0',
  `contact_opnemen` tinyint(4) NOT NULL DEFAULT '0',
  `contact_opgenomen` tinyint(4) NOT NULL DEFAULT '0',
  `enquete_opvolgen` tinyint(4) NOT NULL DEFAULT '0',
  `volledig_geleverd_backorder` tinyint(4) NOT NULL DEFAULT '0',
  `in_backorder_gezet` tinyint(4) NOT NULL DEFAULT '0',
  `momenteel_in_backorder` tinyint(4) NOT NULL DEFAULT '0',
  `leveren_via_cb` tinyint(4) NOT NULL DEFAULT '0',
  `uitgevoerd_via_cb` tinyint(4) NOT NULL DEFAULT '0',
  `in_exact_wachtrij` tinyint(1) unsigned NOT NULL,
  PRIMARY KEY (`BestellingId`),
  KEY `open_bestelling` (`exact_export`,`exact_controle`,`factuur_sturen_niet_nodig`,`factuur_geprint`,`gefactureerd`,`bevestigd`,`is_geparkeerd`,`ingepakt`,`geannuleerd`,`betaald`,`openstaande_post_aangemaakt`,`afgesloten`),
  KEY `enquetes` (`enquete_verstuurd`,`enquete_ingevuld`,`opmerking_ingevuld`,`opmerking_gemaild`,`opmerking_verwerkt`,`contact_opnemen`,`contact_opgenomen`),
  KEY `vink_open` (`vink_open`),
  KEY `vink_enquete` (`enquete_opvolgen`),
  KEY `vink_backorder` (`momenteel_in_backorder`),
  KEY `in_exact_wachtrij` (`in_exact_wachtrij`),
  CONSTRAINT `fk_bestellingid` FOREIGN KEY (`BestellingId`) REFERENCES `BestellingAll` (`Bestellingid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`thijs`@`%`*/ /*!50003 TRIGGER before_update_orderkopstatusplat BEFORE UPDATE ON OrderkopStatusPlat
FOR EACH ROW BEGIN
	
	IF OLD.gefactureerd = 0
		AND ( NEW.factuur_geprint = 1 OR NEW.factuur_sturen_niet_nodig = 1 )
		AND NEW.exact_controle = 1
	THEN
		SET NEW.gefactureerd = 1;
	END IF;
	
	SET NEW.vink_open = ( NEW.bevestigd = 1
		AND NEW.geannuleerd = 0
		AND NEW.ingepakt = 0 AND NEW.gecrediteerd = 0
		AND NEW.afgesloten = 0 AND NEW.volledig_geleverd_backorder = 0
		AND ( NEW.gefactureerd = 0 OR NEW.niet_inpakken = 0 )
	);
	
	SET NEW.momenteel_in_backorder = (
		NEW.in_backorder_gezet = 1 AND NEW.volledig_geleverd_backorder = 0
	);
	
	SET NEW.enquete_opvolgen = (
		( NEW.opmerking_ingevuld = 1 AND NEW.opmerking_gemaild = 0 AND NEW.opmerking_verwerkt = 0 ) OR
		( NEW.contact_opnemen = 1 AND NEW.contact_opgenomen = 0 )
	);
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`thijs`@`%`*/ /*!50003 TRIGGER after_update_orderkopstatusplat AFTER UPDATE ON OrderkopStatusPlat 
FOR EACH ROW BEGIN
	
	IF IFNULL( @skip_orderkopstatus_update, 0 ) = 0 THEN
		SET @skip_orderkopstatus_update = 1;
		
		
		IF NEW.bevestigd = 1                        AND OLD.bevestigd = 0                        THEN INSERT INTO BestellingStatus VALUES (  2, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.gefactureerd = 1                     AND OLD.gefactureerd = 0                     THEN INSERT INTO BestellingStatus VALUES (  5, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.is_geparkeerd = 1                    AND OLD.is_geparkeerd = 0                    THEN INSERT INTO BestellingStatus VALUES (  6, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.exact_export = 1                     AND OLD.exact_export = 0                     THEN INSERT INTO BestellingStatus VALUES (  8, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.exact_controle = 1                   AND OLD.exact_controle = 0                   THEN INSERT INTO BestellingStatus VALUES (  9, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.ingepakt = 1                         AND OLD.ingepakt = 0                         THEN INSERT INTO BestellingStatus VALUES ( 15, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.geannuleerd = 1                      AND OLD.geannuleerd = 0                      THEN INSERT INTO BestellingStatus VALUES ( 16, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.betaald = 1                          AND OLD.betaald = 0                          THEN INSERT INTO BestellingStatus VALUES ( 21, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.openstaande_post_aangemaakt = 1      AND OLD.openstaande_post_aangemaakt = 0      THEN INSERT INTO BestellingStatus VALUES ( 23, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.in_backorder_gezet = 1               AND OLD.in_backorder_gezet = 0               THEN INSERT INTO BestellingStatus VALUES ( 25, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.gecrediteerd = 1                     AND OLD.gecrediteerd = 0                     THEN INSERT INTO BestellingStatus VALUES ( 29, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.volledig_geleverd_backorder = 1      AND OLD.volledig_geleverd_backorder = 0      THEN INSERT INTO BestellingStatus VALUES ( 30, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.niet_inpakken = 1                    AND OLD.niet_inpakken = 0                    THEN INSERT INTO BestellingStatus VALUES ( 32, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.afgesloten = 1                       AND OLD.afgesloten = 0                       THEN INSERT INTO BestellingStatus VALUES ( 33, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.voorgemeld_bij_postnl = 1            AND OLD.voorgemeld_bij_postnl = 0            THEN INSERT INTO BestellingStatus VALUES ( 36, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.pakket_afgeleverd_volgens_postnl = 1 AND OLD.pakket_afgeleverd_volgens_postnl = 0 THEN INSERT INTO BestellingStatus VALUES ( 37, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.factuur_sturen_niet_nodig = 1        AND OLD.factuur_sturen_niet_nodig = 0        THEN INSERT INTO BestellingStatus VALUES ( 41, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.inpakbevestiging_verzonden = 1       AND OLD.inpakbevestiging_verzonden = 0       THEN INSERT INTO BestellingStatus VALUES ( 45, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.enquete_verstuurd = 1                AND OLD.enquete_verstuurd = 0                THEN INSERT INTO BestellingStatus VALUES ( 50, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.enquete_ingevuld = 1                 AND OLD.enquete_ingevuld = 0                 THEN INSERT INTO BestellingStatus VALUES ( 52, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.opmerking_ingevuld = 1               AND OLD.opmerking_ingevuld = 0               THEN INSERT INTO BestellingStatus VALUES ( 53, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.opmerking_gemaild = 1                AND OLD.opmerking_gemaild = 0                THEN INSERT INTO BestellingStatus VALUES ( 54, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.opmerking_verwerkt = 1               AND OLD.opmerking_verwerkt = 0               THEN INSERT INTO BestellingStatus VALUES ( 55, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.contact_opnemen = 1                  AND OLD.contact_opnemen = 0                  THEN INSERT INTO BestellingStatus VALUES ( 56, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.contact_opgenomen = 1                AND OLD.contact_opgenomen = 0                THEN INSERT INTO BestellingStatus VALUES ( 57, OLD.BestellingId, 'gelukt', @current_initials, NOW() ); END IF;
		
		
		IF NEW.bevestigd = 0                        AND OLD.bevestigd = 1                        THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId =  2; END IF;
		IF NEW.gefactureerd = 0                     AND OLD.gefactureerd = 1                     THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId =  5; END IF;
		IF NEW.is_geparkeerd = 0                    AND OLD.is_geparkeerd = 1                    THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId =  6; END IF;
		IF NEW.exact_export = 0                     AND OLD.exact_export = 1                     THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId =  8; END IF;
		IF NEW.exact_controle = 0                   AND OLD.exact_controle = 1                   THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId =  9; END IF;
		IF NEW.ingepakt = 0                         AND OLD.ingepakt = 1                         THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 15; END IF;
		IF NEW.geannuleerd = 0                      AND OLD.geannuleerd = 1                      THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId IN ( 16, 24 ); END IF;
		IF NEW.betaald = 0                          AND OLD.betaald = 1                          THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 21; END IF;
		IF NEW.openstaande_post_aangemaakt = 0      AND OLD.openstaande_post_aangemaakt = 1      THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 23; END IF;
		IF NEW.in_backorder_gezet = 0               AND OLD.in_backorder_gezet = 1               THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 25; END IF;
		IF NEW.gecrediteerd = 0                     AND OLD.gecrediteerd = 1                     THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 29; END IF;
		IF NEW.volledig_geleverd_backorder = 0      AND OLD.volledig_geleverd_backorder = 1      THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 30; END IF;
		IF NEW.niet_inpakken = 0                    AND OLD.niet_inpakken = 1                    THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 32; END IF;
		IF NEW.afgesloten = 0                       AND OLD.afgesloten = 1                       THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 33; END IF;
		IF NEW.voorgemeld_bij_postnl = 0            AND OLD.voorgemeld_bij_postnl = 1            THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 36; END IF;
		IF NEW.pakket_afgeleverd_volgens_postnl = 0 AND OLD.pakket_afgeleverd_volgens_postnl = 1 THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 37; END IF;
		IF NEW.factuur_sturen_niet_nodig = 0        AND OLD.factuur_sturen_niet_nodig = 1        THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 41; END IF;
		IF NEW.inpakbevestiging_verzonden = 0       AND OLD.inpakbevestiging_verzonden = 1       THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 45; END IF;
		IF NEW.enquete_verstuurd = 0                AND OLD.enquete_verstuurd = 1                THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 50; END IF;
		IF NEW.enquete_ingevuld = 0                 AND OLD.enquete_ingevuld = 1                 THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 52; END IF;
		IF NEW.opmerking_ingevuld = 0               AND OLD.opmerking_ingevuld = 1               THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 53; END IF;
		IF NEW.opmerking_gemaild = 0                AND OLD.opmerking_gemaild = 1                THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 54; END IF;
		IF NEW.opmerking_verwerkt = 0               AND OLD.opmerking_verwerkt = 1               THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 55; END IF;
		IF NEW.contact_opnemen = 0                  AND OLD.contact_opnemen = 1                  THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 56; END IF;
		IF NEW.contact_opgenomen = 0                AND OLD.contact_opgenomen = 1                THEN DELETE FROM BestellingStatus WHERE BestellingId = OLD.BestellingId AND StatusId = 57; END IF;
		
		
		SET @skip_orderkopstatus_update = 0;
	END IF;
	
END */;;
DELIMITER ;

--
-- Table structure for table `OrderregelEigenaren`
--

CREATE TABLE `OrderregelEigenaren` (
  `Id` int(11) NOT NULL,
  `OEKlant` tinyint(1) NOT NULL,
  `OEKlantenservice` tinyint(1) NOT NULL,
  `OEWacht` tinyint(1) NOT NULL,
  `OEMagazijn` tinyint(1) NOT NULL,
  `OEBoekhouding` tinyint(1) NOT NULL,
  `OEControl` tinyint(1) NOT NULL,
  `OEBackorder` tinyint(1) NOT NULL,
  `DT` datetime DEFAULT NULL,
  PRIMARY KEY (`Id`),
  KEY `OEKlant` (`OEKlant`),
  KEY `OEKlantenservice` (`OEKlantenservice`),
  KEY `OEWacht` (`OEWacht`),
  KEY `OEMagazijn` (`OEMagazijn`),
  KEY `OEBoekhouding` (`OEBoekhouding`),
  KEY `OEControl` (`OEControl`),
  KEY `OEBackorder` (`OEBackorder`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `OrderregelStatus`
--

CREATE TABLE `OrderregelStatus` (
  `StatusId` int(11) NOT NULL,
  `Id` int(11) NOT NULL,
  `Resultaat` enum('gelukt','mislukt') DEFAULT NULL,
  `Gebruiker` char(2) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  KEY `NewIndex1` (`DT`),
  KEY `NewIndex2` (`Id`,`StatusId`),
  KEY `NewIndex4` (`StatusId`,`DT`),
  CONSTRAINT `FK_OrderregelStatus` FOREIGN KEY (`Id`) REFERENCES `Bestellingen` (`Id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`main`@`%`*/ /*!50003 TRIGGER `after_insert_orderregelStatus` AFTER INSERT ON `OrderregelStatus` 
    FOR EACH ROW BEGIN
	DECLARE heeftNietInpakken INT;
	DECLARE eersteKeer INT;
	
	DECLARE myAantal,myBackorderOrigineel,myBestellingid,myOrigineelBestellingid,myKlantid,myAantalTotaal INT(11);
	DECLARE myEan varchar(255) CHARACTER SET latin1;
	declare myOmschrijving VARCHAR(255);
	
	DECLARE oudeVolgorde, nieuweVolgorde INT(11);
	
	IF IFNULL( @skip_orderregelstatus_update, 0 ) = 0
	THEN
		SET @skip_orderregelstatus_update = 1;
		IF NEW.StatusId = 1 THEN UPDATE OrderregelStatusPlat SET `aangemaakt` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 2 THEN UPDATE OrderregelStatusPlat SET `bevestigd` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 5 THEN UPDATE OrderregelStatusPlat SET `gefactureerd` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 6 THEN UPDATE OrderregelStatusPlat SET `is_geparkeerd` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 7 THEN UPDATE OrderregelStatusPlat SET `factuurnummer_toegewezen` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 8 THEN UPDATE OrderregelStatusPlat SET `exact_export` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 9 THEN UPDATE OrderregelStatusPlat SET `exact_controle` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 11 THEN UPDATE OrderregelStatusPlat SET `exact_factuur_verwerkt` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 14 THEN UPDATE OrderregelStatusPlat SET `etiket_geprint` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 15 THEN UPDATE OrderregelStatusPlat SET `ingepakt` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 16
		OR NEW.StatusId = 24 THEN UPDATE OrderregelStatusPlat SET `geannuleerd` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 17 THEN UPDATE OrderregelStatusPlat SET `factuur_geprint` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 18 THEN UPDATE OrderregelStatusPlat SET `pakketlabel_geprint` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 19 THEN UPDATE OrderregelStatusPlat SET `brieflabel_geprint` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 20 THEN UPDATE OrderregelStatusPlat SET `betaald_via_ideal` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 21 THEN UPDATE OrderregelStatusPlat SET `betaald` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 23 THEN UPDATE OrderregelStatusPlat SET `openstaande_post_aangemaakt` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 25 THEN UPDATE OrderregelStatusPlat SET `in_backorder_gezet` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 26 THEN UPDATE OrderregelStatusPlat SET `oud_handmatig_verwerkt` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 27 THEN UPDATE OrderregelStatusPlat SET `automatisch_geclassificeerd` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 28 THEN UPDATE OrderregelStatusPlat SET `handmatig_geclassificeerd` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 29 THEN UPDATE OrderregelStatusPlat SET `gecrediteerd` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 30 THEN UPDATE OrderregelStatusPlat SET `volledig_geleverd_backorder` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 31 THEN UPDATE OrderregelStatusPlat SET `samengevoegd_met_eerdere_order` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 32 THEN UPDATE OrderregelStatusPlat SET `niet_inpakken` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 33 THEN UPDATE OrderregelStatusPlat SET `afgesloten` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 34 THEN UPDATE OrderregelStatusPlat SET `factuur_per_mail_verzonden` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 35 THEN UPDATE OrderregelStatusPlat SET `pdf_factuur_gecontroleerd` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 36 THEN UPDATE OrderregelStatusPlat SET `voorgemeld_bij_postnl` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 37 THEN UPDATE OrderregelStatusPlat SET `pakket_afgeleverd_volgens_postnl` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 38 THEN UPDATE OrderregelStatusPlat SET `kan_gedownload_worden` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 39 THEN UPDATE OrderregelStatusPlat SET `pakbon_geprint` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 40 THEN UPDATE OrderregelStatusPlat SET `uit_backorder_gehaald` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 41 THEN UPDATE OrderregelStatusPlat SET `factuur_sturen_niet_nodig` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 42 THEN UPDATE OrderregelStatusPlat SET `hoeft_niet_betaald_te_worden` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 43 THEN UPDATE OrderregelStatusPlat SET `uitgevoerd_naar_exact_via_mari` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 44 THEN UPDATE OrderregelStatusPlat SET `wacht_op_compleet` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 45 THEN UPDATE OrderregelStatusPlat SET `inpakbevestiging_verzonden` = 1 WHERE Id = NEW.Id; END IF;
		IF NEW.StatusId = 46 THEN UPDATE OrderregelStatusPlat SET `niet_reserveren` = 1 WHERE Id = NEW.Id; END IF;
				
		SET @skip_orderregelstatus_update = 0;
	END IF;
	
	SELECT    BS.Ean, BS.Aantal, BS.Bestellingid, BS.BackorderOrigineel, BA.OrigineelBestellingid, BA.Klantid, BS.Omschrijving, BS.Aantal + BS.AantalBackorder
		INTO  myEan,  myAantal,  myBestellingid,  myBackorderOrigineel,  myOrigineelBestellingid,  myKlantid,  myOmschrijving,  myAantalTotaal
		FROM Bestellingen BS 
			LEFT JOIN BestellingAll BA USING (Bestellingid)
		WHERE BS.Id = NEW.Id;	
	
	SET eersteKeer = (SELECT CASE WHEN 
		(SELECT COUNT(*) FROM OrderregelStatus
			WHERE Id=NEW.Id 
			AND StatusId = NEW.StatusId) = 1 THEN 1 ELSE 0 END);
	
	IF NEW.StatusId=2
	THEN
		IF myBackorderOrigineel > 0
		THEN
			INSERT INTO Test_Voorraadbeheer.DevLog (LOG,DT)
			VALUES (
				CONCAT(
					myOrigineelBestellingid,'-',
					myAantal,'-',
					myBackorderOrigineel,'-',
					myEan,'-',
					myKlantid,'-',
					myOmschrijving),
				NOW()
			);
			
			
			SELECT Voorraadbeheer.maakVoorraadreservering(get_administratie(),
					myEan,
					-1*myAantal,
					myOrigineelBestellingid,
					myBackorderOrigineel,
					myKlantid,
					'uit backorder',
					NULL,
					myOmschrijving)
				INTO @myResevering;				
		END IF;
	ELSEIF NEW.StatusId=15
	THEN
		IF eersteKeer = 1 AND heeft_orderregelStatus(NEW.Id,32) = 0
		THEN		
			
			
		
			
			SELECT Voorraadbeheer.maakVoorraadmutatie(get_administratie(),
					myEan,
					-1*myAantal,
					myBestellingid,
					NEW.Id,
					'ingepakt',
					myOrigineelBestellingid,
					myOmschrijving)
				INTO @myVoorraadmutatie;							
		END IF;
	ELSEIF NEW.StatusId = 29  OR New.StatusId = 30  OR New.StatusId=33  OR NEW.StatusId=24  OR NEW.StatusId=21
	THEN
		IF NEW.StatusId = 29  AND heeft_orderregelStatus(NEW.Id,32) = 0 AND heeft_orderregelStatus(NEW.Id,15) = 0
		THEN
			SELECT Voorraadbeheer.maakVoorraadreservering(get_administratie(),
					myEan,
					-1*myAantalTotaal,
					myBestellingid,
					NEW.Id,
					myKlantid,
					'gecrediteerd',
					myOrigineelBestellingid,
					myOmschrijving)
				INTO @myResevering;						 
		ELSEIF NEW.StatusId=33
		THEN
			IF myAantal > 0
			THEN
				SELECT Voorraadbeheer.maakVoorraadreservering(get_administratie(),
						myEan,
						-1*myAantalTotaal,
						myBestellingid,
						NEW.Id,
						myKlantid,
						'afgesloten',
						myOrigineelBestellingid,
						myOmschrijving)
					INTO @myResevering;	
			END IF;
		END IF;
	ELSEIF NEW.StatusId IN (32)
	THEN
		
		IF myAantal > 0
		THEN
			SELECT Voorraadbeheer.maakVoorraadreservering(get_administratie(),
					myEan,
					-1*myAantalTotaal,
					myBestellingid,
					NEW.Id,
					myKlantid,
					'niet inpakken',
					myOrigineelBestellingid,
					myOmschrijving)
				INTO @myResevering;
		END IF;
		 
	END IF;
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_delete_orderregelStatus` AFTER DELETE ON `OrderregelStatus` 
    FOR EACH ROW BEGIN    
	DECLARE myAantal,myAantalBackorder,myBestellingid,myKlantid INT(11);
	DECLARE myOmschrijving VARCHAR(255);
	DECLARE myAfgerond TINYINT(1);
	DECLARE myEan VARCHAR(13) CHARACTER SET latin1;
	
	
	IF IFNULL( @skip_orderregelstatus_update, 0 ) = 0 THEN
		SET @skip_orderregelstatus_update = 1;
		IF OLD.StatusId = 1 THEN UPDATE OrderregelStatusPlat SET `aangemaakt` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 2 THEN UPDATE OrderregelStatusPlat SET `bevestigd` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 5 THEN UPDATE OrderregelStatusPlat SET `gefactureerd` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 6 THEN UPDATE OrderregelStatusPlat SET `is_geparkeerd` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 7 THEN UPDATE OrderregelStatusPlat SET `factuurnummer_toegewezen` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 8 THEN UPDATE OrderregelStatusPlat SET `exact_export` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 9 THEN UPDATE OrderregelStatusPlat SET `exact_controle` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 11 THEN UPDATE OrderregelStatusPlat SET `exact_factuur_verwerkt` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 14 THEN UPDATE OrderregelStatusPlat SET `etiket_geprint` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 15 THEN UPDATE OrderregelStatusPlat SET `ingepakt` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 16 OR OLD.StatusId = 24 THEN UPDATE OrderregelStatusPlat SET `geannuleerd` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 17 THEN UPDATE OrderregelStatusPlat SET `factuur_geprint` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 18 THEN UPDATE OrderregelStatusPlat SET `pakketlabel_geprint` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 19 THEN UPDATE OrderregelStatusPlat SET `brieflabel_geprint` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 20 THEN UPDATE OrderregelStatusPlat SET `betaald_via_ideal` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 21 THEN UPDATE OrderregelStatusPlat SET `betaald` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 23 THEN UPDATE OrderregelStatusPlat SET `openstaande_post_aangemaakt` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 25 THEN UPDATE OrderregelStatusPlat SET `in_backorder_gezet` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 26 THEN UPDATE OrderregelStatusPlat SET `oud_handmatig_verwerkt` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 27 THEN UPDATE OrderregelStatusPlat SET `automatisch_geclassificeerd` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 28 THEN UPDATE OrderregelStatusPlat SET `handmatig_geclassificeerd` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 29 THEN UPDATE OrderregelStatusPlat SET `gecrediteerd` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 30 THEN UPDATE OrderregelStatusPlat SET `volledig_geleverd_backorder` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 31 THEN UPDATE OrderregelStatusPlat SET `samengevoegd_met_eerdere_order` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 32 THEN UPDATE OrderregelStatusPlat SET `niet_inpakken` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 33 THEN UPDATE OrderregelStatusPlat SET `afgesloten` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 34 THEN UPDATE OrderregelStatusPlat SET `factuur_per_mail_verzonden` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 35 THEN UPDATE OrderregelStatusPlat SET `pdf_factuur_gecontroleerd` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 36 THEN UPDATE OrderregelStatusPlat SET `voorgemeld_bij_postnl` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 37 THEN UPDATE OrderregelStatusPlat SET `pakket_afgeleverd_volgens_postnl` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 38 THEN UPDATE OrderregelStatusPlat SET `kan_gedownload_worden` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 39 THEN UPDATE OrderregelStatusPlat SET `pakbon_geprint` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 40 THEN UPDATE OrderregelStatusPlat SET `uit_backorder_gehaald` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 41 THEN UPDATE OrderregelStatusPlat SET `factuur_sturen_niet_nodig` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 42 THEN UPDATE OrderregelStatusPlat SET `hoeft_niet_betaald_te_worden` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 43 THEN UPDATE OrderregelStatusPlat SET `uitgevoerd_naar_exact_via_mari` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 44 THEN UPDATE OrderregelStatusPlat SET `wacht_op_compleet` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 45 THEN UPDATE OrderregelStatusPlat SET `inpakbevestiging_verzonden` = 0 WHERE Id = OLD.Id; END IF;
		IF OLD.StatusId = 46 THEN UPDATE OrderregelStatusPlat SET `niet_reserveren` = 0 WHERE Id = OLD.Id; END IF;		
		SET @skip_orderregelstatus_update = 0;
	END IF;
	
	
	IF OLD.StatusId = 32  THEN
		
		SELECT 
			B.Aantal,B.AantalBackorder,B.Bestellingid,BA.Klantid,B.Omschrijving,B.Ean,BA.Afgerond
			INTO myAantal,myAantalBackorder,myBestellingid,myKlantid,myOmschrijving,myEan,myAfgerond
		FROM Bestellingen B JOIN BestellingAll BA USING(Bestellingid) WHERE Id=OLD.Id;
		IF (myAantal+myAantalBackorder) > 0 AND myAfgerond = 1 THEN
			SELECT Voorraadbeheer.maakVoorraadreservering(get_administratie(),
									myEan,
									myAantal+myAantalBackorder,
									myBestellingid,
									OLD.Id,
									myKlantid,
									'gecorrigeerd',
									NULL,
									myOmschrijving) 
								INTO @myResevering;					
		END IF;
	END IF;
    END */;;
DELIMITER ;

--
-- Table structure for table `OrderregelStatusPlat`
--

CREATE TABLE `OrderregelStatusPlat` (
  `Id` int(11) NOT NULL,
  `aangemaakt` tinyint(4) NOT NULL DEFAULT '0',
  `bevestigd` tinyint(4) NOT NULL DEFAULT '0',
  `gefactureerd` tinyint(4) NOT NULL DEFAULT '0',
  `is_geparkeerd` tinyint(4) NOT NULL DEFAULT '0',
  `factuurnummer_toegewezen` tinyint(4) NOT NULL DEFAULT '0',
  `exact_export` tinyint(4) NOT NULL DEFAULT '0',
  `exact_controle` tinyint(4) NOT NULL DEFAULT '0',
  `exact_factuur_verwerkt` tinyint(4) NOT NULL DEFAULT '0',
  `etiket_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `ingepakt` tinyint(4) NOT NULL DEFAULT '0',
  `geannuleerd` tinyint(4) NOT NULL DEFAULT '0',
  `factuur_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `pakketlabel_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `brieflabel_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `betaald_via_ideal` tinyint(4) NOT NULL DEFAULT '0',
  `betaald` tinyint(4) NOT NULL DEFAULT '0',
  `openstaande_post_aangemaakt` tinyint(4) NOT NULL DEFAULT '0',
  `in_backorder_gezet` tinyint(4) NOT NULL DEFAULT '0',
  `oud_handmatig_verwerkt` tinyint(4) NOT NULL DEFAULT '0',
  `automatisch_geclassificeerd` tinyint(4) NOT NULL DEFAULT '0',
  `handmatig_geclassificeerd` tinyint(4) NOT NULL DEFAULT '0',
  `gecrediteerd` tinyint(4) NOT NULL DEFAULT '0',
  `volledig_geleverd_backorder` tinyint(4) NOT NULL DEFAULT '0',
  `samengevoegd_met_eerdere_order` tinyint(4) NOT NULL DEFAULT '0',
  `niet_inpakken` tinyint(4) NOT NULL DEFAULT '0',
  `afgesloten` tinyint(4) NOT NULL DEFAULT '0',
  `factuur_per_mail_verzonden` tinyint(4) NOT NULL DEFAULT '0',
  `pdf_factuur_gecontroleerd` tinyint(4) NOT NULL DEFAULT '0',
  `voorgemeld_bij_postnl` tinyint(4) NOT NULL DEFAULT '0',
  `pakket_afgeleverd_volgens_postnl` tinyint(4) NOT NULL DEFAULT '0',
  `kan_gedownload_worden` tinyint(4) NOT NULL DEFAULT '0',
  `pakbon_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `uit_backorder_gehaald` tinyint(4) NOT NULL DEFAULT '0',
  `factuur_sturen_niet_nodig` tinyint(4) NOT NULL DEFAULT '0',
  `hoeft_niet_betaald_te_worden` tinyint(4) NOT NULL DEFAULT '0',
  `uitgevoerd_naar_exact_via_mari` tinyint(4) NOT NULL DEFAULT '0',
  `wacht_op_compleet` tinyint(4) NOT NULL DEFAULT '0',
  `inpakbevestiging_verzonden` tinyint(4) NOT NULL DEFAULT '0',
  `niet_reserveren` tinyint(4) NOT NULL,
  `achteraf_factureren` tinyint(4) NOT NULL DEFAULT '0',
  `achteraf_gefactureerd` tinyint(4) NOT NULL DEFAULT '0',
  `leveren_via_cb` tinyint(4) NOT NULL DEFAULT '0',
  `geleverd_via_cb` tinyint(4) NOT NULL DEFAULT '0',
  `vink_open` tinyint(4) NOT NULL DEFAULT '0',
  `vink_magazijn` tinyint(4) NOT NULL DEFAULT '0',
  `vink_klantenservice` tinyint(4) NOT NULL DEFAULT '0',
  `vink_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `vink_nietgeprint` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Id`),
  KEY `openbestelling` (`bevestigd`,`ingepakt`,`geannuleerd`,`gecrediteerd`,`niet_inpakken`,`afgesloten`,`uit_backorder_gehaald`,`niet_reserveren`),
  KEY `vink_open` (`vink_open`),
  KEY `vink_magazijn` (`vink_magazijn`),
  KEY `vink_klantenservice` (`vink_klantenservice`),
  KEY `afgesloten` (`afgesloten`,`gefactureerd`),
  KEY `factuur_geprint` (`afgesloten`,`factuur_geprint`),
  KEY `klantenservice` (`bevestigd`,`afgesloten`,`exact_export`,`gefactureerd`),
  KEY `vink_geprint` (`vink_geprint`),
  KEY `vink_nietgeprint` (`vink_nietgeprint`),
  KEY `achteraf_factureren` (`achteraf_factureren`,`achteraf_gefactureerd`),
  KEY `onelijn` (`leveren_via_cb`,`geleverd_via_cb`),
  KEY `vink_nietreserveren` (`niet_reserveren`),
  CONSTRAINT `OrderregelStatusPlat_ibfk_1` FOREIGN KEY (`Id`) REFERENCES `Bestellingen` (`Id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `before_update_orderregelstatusplat` BEFORE UPDATE ON `OrderregelStatusPlat` 
    FOR EACH ROW BEGIN
	SET NEW.vink_open = (NEW.`bevestigd` = 1) AND (NEW.`ingepakt` = 0) AND (NEW.`geannuleerd` = 0) AND (NEW.`gecrediteerd` = 0)
	                    AND (NEW.`afgesloten` = 0) AND (NEW.`volledig_geleverd_backorder` = 0)
	                    AND ( NEW.gefactureerd = 0 OR NEW.niet_inpakken = 0 );
	                    
	SET NEW.vink_klantenservice = (NEW.`bevestigd` = 1) AND (NEW.`gefactureerd` = 0) AND (NEW.`geannuleerd` = 0) AND (NEW.`gecrediteerd` = 0) 
	                              AND (NEW.`afgesloten` = 0) AND (NEW.`volledig_geleverd_backorder` = 0);
	                              
	SET NEW.vink_magazijn       = (NEW.`bevestigd` = 1) AND (NEW.`factuur_geprint` = 1) AND (NEW.`ingepakt` = 0) AND (NEW.`geannuleerd` = 0) AND (NEW.`gecrediteerd` = 0) 
	                              AND (NEW.`afgesloten` = 0) AND (NEW.`niet_inpakken`=0) AND (NEW.`volledig_geleverd_backorder` = 0);
	SET NEW.vink_geprint =  (NEW.bevestigd = 1)
				AND (NEW.`geannuleerd` = 0) AND (NEW.`gecrediteerd` = 0)
				AND (NEW.`afgesloten` = 0) AND (NEW.`volledig_geleverd_backorder` = 0)
				AND ( NEW.exact_export = 1 OR NEW.factuur_geprint = 1 OR NEW.gefactureerd = 1 )
				AND ( NEW.niet_inpakken = 0 )
				AND ( NEW.ingepakt = 0 );
				
	SET NEW.vink_nietgeprint = ( NEW.bevestigd = 1)
				AND (NEW.`geannuleerd` = 0) AND (NEW.`gecrediteerd` = 0)
				AND (NEW.`afgesloten` = 0) AND (NEW.`volledig_geleverd_backorder` = 0)
				AND ( NEW.exact_export = 0 ) 
				AND ( NEW.factuur_geprint = 0 )
				AND ( NEW.gefactureerd = 0 )
				AND ( NEW.uit_backorder_gehaald = 0 );
	
	IF OLD.gefactureerd = 0 AND ( NEW.factuur_geprint = 1 OR NEW.`factuur_sturen_niet_nodig` = 1 ) AND NEW.exact_controle = 1 THEN
		SET NEW.gefactureerd = 1;
	END IF;
                             
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `after_update_OrderregelStatusPlat` AFTER UPDATE ON `OrderregelStatusPlat` 
    FOR EACH ROW BEGIN
	
	IF IFNULL( @skip_orderregelstatus_update, 0 ) = 0 THEN
		SET @skip_orderregelstatus_update = 1;
		IF NEW.`aangemaakt` = 1 AND OLD.`aangemaakt` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '1', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`bevestigd` = 1 AND OLD.`bevestigd` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '2', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`gefactureerd` = 1 AND OLD.`gefactureerd` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '5', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`is_geparkeerd` = 1 AND OLD.`is_geparkeerd` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '6', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`factuurnummer_toegewezen` = 1 AND OLD.`factuurnummer_toegewezen` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '7', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`exact_export` = 1 AND OLD.`exact_export` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '8', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`exact_controle` = 1 AND OLD.`exact_controle` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '9', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`exact_factuur_verwerkt` = 1 AND OLD.`exact_factuur_verwerkt` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '11', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`etiket_geprint` = 1 AND OLD.`etiket_geprint` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '14', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`ingepakt` = 1 AND OLD.`ingepakt` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '15', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`geannuleerd` = 1 AND OLD.`geannuleerd` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '16', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`factuur_geprint` = 1 AND OLD.`factuur_geprint` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '17', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`pakketlabel_geprint` = 1 AND OLD.`pakketlabel_geprint` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '18', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`brieflabel_geprint` = 1 AND OLD.`brieflabel_geprint` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '19', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`betaald_via_ideal` = 1 AND OLD.`betaald_via_ideal` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '20', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`betaald` = 1 AND OLD.`betaald` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '21', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`openstaande_post_aangemaakt` = 1 AND OLD.`openstaande_post_aangemaakt` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '23', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`in_backorder_gezet` = 1 AND OLD.`in_backorder_gezet` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '25', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`oud_handmatig_verwerkt` = 1 AND OLD.`oud_handmatig_verwerkt` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '26', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`automatisch_geclassificeerd` = 1 AND OLD.`automatisch_geclassificeerd` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '27', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`handmatig_geclassificeerd` = 1 AND OLD.`handmatig_geclassificeerd` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '28', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`gecrediteerd` = 1 AND OLD.`gecrediteerd` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '29', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`volledig_geleverd_backorder` = 1 AND OLD.`volledig_geleverd_backorder` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '30', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`samengevoegd_met_eerdere_order` = 1 AND OLD.`samengevoegd_met_eerdere_order` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '31', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`niet_inpakken` = 1 AND OLD.`niet_inpakken` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '32', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`afgesloten` = 1 AND OLD.`afgesloten` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '33', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`factuur_per_mail_verzonden` = 1 AND OLD.`factuur_per_mail_verzonden` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '34', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`pdf_factuur_gecontroleerd` = 1 AND OLD.`pdf_factuur_gecontroleerd` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '35', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`voorgemeld_bij_postnl` = 1 AND OLD.`voorgemeld_bij_postnl` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '36', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`pakket_afgeleverd_volgens_postnl` = 1 AND OLD.`pakket_afgeleverd_volgens_postnl` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '37', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`kan_gedownload_worden` = 1 AND OLD.`kan_gedownload_worden` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '38', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`pakbon_geprint` = 1 AND OLD.`pakbon_geprint` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '39', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`uit_backorder_gehaald` = 1 AND OLD.`uit_backorder_gehaald` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '40', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`factuur_sturen_niet_nodig` = 1 AND OLD.`factuur_sturen_niet_nodig` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '41', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`hoeft_niet_betaald_te_worden` = 1 AND OLD.`hoeft_niet_betaald_te_worden` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '42', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`uitgevoerd_naar_exact_via_mari` = 1 AND OLD.`uitgevoerd_naar_exact_via_mari` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '43', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`wacht_op_compleet` = 1 AND OLD.`wacht_op_compleet` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '44', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`inpakbevestiging_verzonden` = 1 AND OLD.`inpakbevestiging_verzonden` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '45', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;
		IF NEW.`niet_reserveren` = 1 AND OLD.`niet_reserveren` = 0 THEN INSERT INTO OrderregelStatus VALUES ( '46', OLD.Id, 'gelukt', @current_initials, NOW() ); END IF;		
		SET @skip_orderregelstatus_update = 0;
	END IF;
	
	IF IFNULL( @skip_orderregelstatus_update, 0 ) = 0 THEN
		SET @skip_orderregelstatus_update = 1;
		IF NEW.`aangemaakt` = 0 AND OLD.`aangemaakt` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '1'; END IF;
		IF NEW.`bevestigd` = 0 AND OLD.`bevestigd` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '2'; END IF;
		IF NEW.`gefactureerd` = 0 AND OLD.`gefactureerd` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '5'; END IF;
		IF NEW.`is_geparkeerd` = 0 AND OLD.`is_geparkeerd` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '6'; END IF;
		IF NEW.`factuurnummer_toegewezen` = 0 AND OLD.`factuurnummer_toegewezen` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '7'; END IF;
		IF NEW.`exact_export` = 0 AND OLD.`exact_export` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '8'; END IF;
		IF NEW.`exact_controle` = 0 AND OLD.`exact_controle` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '9'; END IF;
		IF NEW.`exact_factuur_verwerkt` = 0 AND OLD.`exact_factuur_verwerkt` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '11'; END IF;
		IF NEW.`etiket_geprint` = 0 AND OLD.`etiket_geprint` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '14'; END IF;
		IF NEW.`ingepakt` = 0 AND OLD.`ingepakt` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '15'; END IF;
		IF NEW.`geannuleerd` = 0 AND OLD.`geannuleerd` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '16'; END IF;
		IF NEW.`factuur_geprint` = 0 AND OLD.`factuur_geprint` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '17'; END IF;
		IF NEW.`pakketlabel_geprint` = 0 AND OLD.`pakketlabel_geprint` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '18'; END IF;
		IF NEW.`brieflabel_geprint` = 0 AND OLD.`brieflabel_geprint` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '19'; END IF;
		IF NEW.`betaald_via_ideal` = 0 AND OLD.`betaald_via_ideal` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '20'; END IF;
		IF NEW.`betaald` = 0 AND OLD.`betaald` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '21'; END IF;
		IF NEW.`openstaande_post_aangemaakt` = 0 AND OLD.`openstaande_post_aangemaakt` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '23'; END IF;
		IF NEW.`in_backorder_gezet` = 0 AND OLD.`in_backorder_gezet` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '25'; END IF;
		IF NEW.`oud_handmatig_verwerkt` = 0 AND OLD.`oud_handmatig_verwerkt` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '26'; END IF;
		IF NEW.`automatisch_geclassificeerd` = 0 AND OLD.`automatisch_geclassificeerd` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '27'; END IF;
		IF NEW.`handmatig_geclassificeerd` = 0 AND OLD.`handmatig_geclassificeerd` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '28'; END IF;
		IF NEW.`gecrediteerd` = 0 AND OLD.`gecrediteerd` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '29'; END IF;
		IF NEW.`volledig_geleverd_backorder` = 0 AND OLD.`volledig_geleverd_backorder` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '30'; END IF;
		IF NEW.`samengevoegd_met_eerdere_order` = 0 AND OLD.`samengevoegd_met_eerdere_order` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '31'; END IF;
		IF NEW.`niet_inpakken` = 0 AND OLD.`niet_inpakken` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '32'; END IF;
		IF NEW.`afgesloten` = 0 AND OLD.`afgesloten` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '33'; END IF;
		IF NEW.`factuur_per_mail_verzonden` = 0 AND OLD.`factuur_per_mail_verzonden` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '34'; END IF;
		IF NEW.`pdf_factuur_gecontroleerd` = 0 AND OLD.`pdf_factuur_gecontroleerd` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '35'; END IF;
		IF NEW.`voorgemeld_bij_postnl` = 0 AND OLD.`voorgemeld_bij_postnl` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '36'; END IF;
		IF NEW.`pakket_afgeleverd_volgens_postnl` = 0 AND OLD.`pakket_afgeleverd_volgens_postnl` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '37'; END IF;
		IF NEW.`kan_gedownload_worden` = 0 AND OLD.`kan_gedownload_worden` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '38'; END IF;
		IF NEW.`pakbon_geprint` = 0 AND OLD.`pakbon_geprint` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '39'; END IF;
		IF NEW.`uit_backorder_gehaald` = 0 AND OLD.`uit_backorder_gehaald` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '40'; END IF;
		IF NEW.`factuur_sturen_niet_nodig` = 0 AND OLD.`factuur_sturen_niet_nodig` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '41'; END IF;
		IF NEW.`hoeft_niet_betaald_te_worden` = 0 AND OLD.`hoeft_niet_betaald_te_worden` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '42'; END IF;
		IF NEW.`uitgevoerd_naar_exact_via_mari` = 0 AND OLD.`uitgevoerd_naar_exact_via_mari` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '43'; END IF;
		IF NEW.`wacht_op_compleet` = 0 AND OLD.`wacht_op_compleet` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '44'; END IF;
		IF NEW.`inpakbevestiging_verzonden` = 0 AND OLD.`inpakbevestiging_verzonden` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '45'; END IF;
		IF NEW.`niet_reserveren` = 0 AND OLD.`niet_reserveren` = 1 THEN DELETE FROM OrderregelStatus WHERE Id = OLD.Id AND StatusId = '46'; END IF;		
		SET @skip_orderregelstatus_update = 0;
	END IF;
	
	IF (NEW.bevestigd != OLD.bevestigd) OR (NEW.`ingepakt` != OLD.`ingepakt` ) OR ( NEW.geannuleerd != OLD.geannuleerd ) 
	   OR ( NEW.gecrediteerd != OLD.gecrediteerd ) OR ( NEW.niet_inpakken != OLD.niet_inpakken ) OR ( NEW.afgesloten != OLD.afgesloten ) 
	     OR ( NEW.volledig_geleverd_backorder != OLD.volledig_geleverd_backorder ) OR ( NEW.niet_reserveren != OLD.niet_reserveren ) 
	       OR ( NEW.vink_open != OLD.vink_open ) THEN
		CALL herbereken_reserveringen( OLD.Id );
	END IF;
    END */;;
DELIMITER ;

--
-- Table structure for table `OrderregelStatusPlat2`
--

CREATE TABLE `OrderregelStatusPlat2` (
  `Id` int(11) NOT NULL,
  `aangemaakt` tinyint(4) NOT NULL DEFAULT '0',
  `bevestigd` tinyint(4) NOT NULL DEFAULT '0',
  `gefactureerd` tinyint(4) NOT NULL DEFAULT '0',
  `is_geparkeerd` tinyint(4) NOT NULL DEFAULT '0',
  `factuurnummer_toegewezen` tinyint(4) NOT NULL DEFAULT '0',
  `exact_export` tinyint(4) NOT NULL DEFAULT '0',
  `exact_controle` tinyint(4) NOT NULL DEFAULT '0',
  `exact_factuur_verwerkt` tinyint(4) NOT NULL DEFAULT '0',
  `etiket_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `ingepakt` tinyint(4) NOT NULL DEFAULT '0',
  `geannuleerd` tinyint(4) NOT NULL DEFAULT '0',
  `factuur_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `pakketlabel_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `brieflabel_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `betaald_via_ideal` tinyint(4) NOT NULL DEFAULT '0',
  `betaald` tinyint(4) NOT NULL DEFAULT '0',
  `openstaande_post_aangemaakt` tinyint(4) NOT NULL DEFAULT '0',
  `in_backorder_gezet` tinyint(4) NOT NULL DEFAULT '0',
  `oud_handmatig_verwerkt` tinyint(4) NOT NULL DEFAULT '0',
  `automatisch_geclassificeerd` tinyint(4) NOT NULL DEFAULT '0',
  `handmatig_geclassificeerd` tinyint(4) NOT NULL DEFAULT '0',
  `gecrediteerd` tinyint(4) NOT NULL DEFAULT '0',
  `volledig_geleverd_backorder` tinyint(4) NOT NULL DEFAULT '0',
  `samengevoegd_met_eerdere_order` tinyint(4) NOT NULL DEFAULT '0',
  `niet_inpakken` tinyint(4) NOT NULL DEFAULT '0',
  `afgesloten` tinyint(4) NOT NULL DEFAULT '0',
  `factuur_per_mail_verzonden` tinyint(4) NOT NULL DEFAULT '0',
  `pdf_factuur_gecontroleerd` tinyint(4) NOT NULL DEFAULT '0',
  `voorgemeld_bij_postnl` tinyint(4) NOT NULL DEFAULT '0',
  `pakket_afgeleverd_volgens_postnl` tinyint(4) NOT NULL DEFAULT '0',
  `kan_gedownload_worden` tinyint(4) NOT NULL DEFAULT '0',
  `pakbon_geprint` tinyint(4) NOT NULL DEFAULT '0',
  `uit_backorder_gehaald` tinyint(4) NOT NULL DEFAULT '0',
  `factuur_sturen_niet_nodig` tinyint(4) NOT NULL DEFAULT '0',
  `hoeft_niet_betaald_te_worden` tinyint(4) NOT NULL DEFAULT '0',
  `uitgevoerd_naar_exact_via_mari` tinyint(4) NOT NULL DEFAULT '0',
  `wacht_op_compleet` tinyint(4) NOT NULL DEFAULT '0',
  `inpakbevestiging_verzonden` tinyint(4) NOT NULL DEFAULT '0',
  `niet_reserveren` tinyint(4) NOT NULL,
  `vink_open` tinyint(4) NOT NULL DEFAULT '0',
  `vink_magazijn` tinyint(4) NOT NULL DEFAULT '0',
  `vink_klantenservice` tinyint(4) DEFAULT '0',
  PRIMARY KEY (`Id`),
  KEY `openbestelling` (`bevestigd`,`ingepakt`,`geannuleerd`,`gecrediteerd`,`niet_inpakken`,`afgesloten`,`uit_backorder_gehaald`,`niet_reserveren`),
  KEY `factuur_geprint` (`afgesloten`,`factuur_geprint`),
  KEY `klantenservice` (`bevestigd`,`afgesloten`,`exact_export`,`gefactureerd`),
  KEY `vink_open` (`vink_open`),
  KEY `vink_magazijn` (`vink_magazijn`),
  KEY `vink_klantenservice` (`vink_klantenservice`),
  KEY `afgesloten` (`afgesloten`,`gefactureerd`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Temporary table structure for view `OrderregelsViaONE`
--

/*!50001 DROP VIEW IF EXISTS `OrderregelsViaONE`*/;
/*!50001 CREATE TABLE `OrderregelsViaONE` (
  `bestellingid` tinyint NOT NULL,
  `id` tinyint NOT NULL,
  `ean` tinyint NOT NULL,
  `cb_mag_one` tinyint NOT NULL,
  `manpo_mag_one` tinyint NOT NULL,
  `mag_one` tinyint NOT NULL,
  `leverbaar_via_cb` tinyint NOT NULL,
  `leverbaar_via_cb24` tinyint NOT NULL,
  `leverbaar_via_mgt` tinyint NOT NULL,
  `splitsbaar` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `PageLog`
--

CREATE TABLE `PageLog` (
  `Datum` datetime DEFAULT NULL,
  `SiteID` int(11) DEFAULT NULL,
  `CountPage` int(11) DEFAULT NULL,
  `CountHomePage` int(11) DEFAULT NULL,
  `CountSession` int(11) DEFAULT NULL,
  UNIQUE KEY `Datum` (`Datum`,`SiteID`),
  KEY `SiteID` (`SiteID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `PodcastDetails`
--

CREATE TABLE `PodcastDetails` (
  `PodcastID` int(11) NOT NULL AUTO_INCREMENT,
  `Naam` varchar(255) DEFAULT NULL,
  `FullPath` mediumtext,
  `DT` date DEFAULT NULL,
  PRIMARY KEY (`PodcastID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `PodcastPlaylist`
--

CREATE TABLE `PodcastPlaylist` (
  `PodcastID` int(11) NOT NULL,
  `SortOrder` int(11) DEFAULT NULL,
  `FullPath` mediumtext,
  PRIMARY KEY (`PodcastID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Polls`
--

CREATE TABLE `Polls` (
  `Pollname` varchar(255) DEFAULT NULL,
  `Klantid` int(11) DEFAULT NULL,
  `Ean` varchar(13) DEFAULT NULL,
  `Datum` datetime DEFAULT NULL,
  KEY `i1` (`Pollname`),
  KEY `i2` (`Klantid`),
  KEY `i3` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `ProductPlanning`
--

CREATE TABLE `ProductPlanning` (
  `PlanningType` enum('speciaal-aanbevolen','home-player','home-reserveer','home-e-books','home-evenementen','landing-producten','landing-rubriek','landing-productgroep','landing-producten-banner','landing-productgroep-banner','landing-rubriek-banner','home-banner') NOT NULL,
  `PlanningDatum` date NOT NULL,
  `PlanningIndex` int(11) NOT NULL,
  `Rubriek` char(50) NOT NULL,
  `Productgroep` char(50) NOT NULL,
  `Ean` char(13) NOT NULL,
  `DT` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`PlanningType`,`PlanningDatum`,`PlanningIndex`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Profiel`
--

CREATE TABLE `Profiel` (
  `Klantid` int(11) DEFAULT NULL,
  `Auteurid` int(11) DEFAULT '0',
  `Recensentid` int(11) NOT NULL DEFAULT '0',
  `IsRecensent` tinyint(4) NOT NULL DEFAULT '0',
  `IsBoekcoverAuteur` tinyint(4) NOT NULL DEFAULT '0',
  `Geslacht` varchar(10) NOT NULL,
  `Voornaam` varchar(50) NOT NULL,
  `Initialen` varchar(10) NOT NULL,
  `Achternaam` varchar(50) NOT NULL,
  `ProfielPubliek` tinyint(4) NOT NULL DEFAULT '0',
  `AankopenPubliek` tinyint(4) NOT NULL DEFAULT '0',
  `BibliotheekPubliek` tinyint(4) NOT NULL DEFAULT '0',
  `TwitterNaam` varchar(255) NOT NULL,
  `FacebookURL` varchar(255) NOT NULL,
  `GooglePlusNaam` varchar(255) NOT NULL,
  `LinkedinURL` varchar(255) NOT NULL,
  `RollenTekst` varchar(50) NOT NULL,
  `Omschrijving` mediumtext NOT NULL,
  `URL` varchar(255) NOT NULL,
  `Top1` char(13) DEFAULT NULL,
  `Top2` char(13) DEFAULT NULL,
  `Top3` char(1) DEFAULT NULL,
  KEY `Top1` (`Top1`),
  KEY `Top2` (`Top2`),
  KEY `Top3` (`Top3`),
  KEY `Klantid` (`Klantid`),
  KEY `Auteurid` (`Auteurid`),
  CONSTRAINT `Profiel_ibfk_1` FOREIGN KEY (`Klantid`) REFERENCES `Klanten` (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Promo`
--

CREATE TABLE `Promo` (
  `promoId` int(11) NOT NULL AUTO_INCREMENT,
  `promoTitel` varchar(50) NOT NULL,
  `dtstart` datetime NOT NULL,
  `dteind` datetime NOT NULL,
  `minimaal_aantal` int(2) NOT NULL,
  `gratis_boek` char(13) NOT NULL,
  `tekst_winkelkar` text NOT NULL,
  `halen` int(11) NOT NULL DEFAULT '0',
  `betalen` int(11) NOT NULL DEFAULT '0',
  `actieurl` varchar(75) NOT NULL,
  `tekst_bevestiging` text NOT NULL,
  PRIMARY KEY (`promoId`),
  KEY `dtstart` (`dtstart`),
  KEY `dteind` (`dteind`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Promo_eans`
--

CREATE TABLE `Promo_eans` (
  `ean` char(13) NOT NULL,
  `promoId` int(11) NOT NULL,
  PRIMARY KEY (`ean`,`promoId`),
  KEY `ean` (`ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Promotieacties`
--

CREATE TABLE `Promotieacties` (
  `Promoid` int(11) NOT NULL AUTO_INCREMENT,
  `Siteid` int(11) DEFAULT NULL,
  `Bonusean` varchar(13) DEFAULT NULL,
  `Aantalboeken` int(11) DEFAULT NULL,
  `Vink` varchar(200) DEFAULT NULL,
  `Begindatum` date DEFAULT NULL,
  `Einddatum` date DEFAULT NULL,
  `Promotekst` mediumblob,
  PRIMARY KEY (`Promoid`),
  KEY `Siteid` (`Siteid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

--
-- Table structure for table `Prospects`
--

CREATE TABLE `Prospects` (
  `ProspectId` int(11) NOT NULL AUTO_INCREMENT,
  `DT` datetime NOT NULL,
  `KlantId` int(11) NOT NULL,
  `UserAgent` varchar(255) NOT NULL,
  `ClientId` varchar(255) NOT NULL,
  PRIMARY KEY (`ProspectId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Ranking`
--

CREATE TABLE `Ranking` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `Saldo` int(11) DEFAULT NULL,
  `LastOrder` date DEFAULT NULL,
  PRIMARY KEY (`Id`),
  KEY `i1` (`Klantid`)
) ENGINE=InnoDB AUTO_INCREMENT=70011 DEFAULT CHARSET=latin1;

--
-- Table structure for table `Ranking_Top`
--

CREATE TABLE `Ranking_Top` (
  `Ean` char(13) NOT NULL,
  `1d` int(11) NOT NULL,
  `5d` int(11) NOT NULL,
  `7d` int(11) NOT NULL,
  `30d` int(11) NOT NULL,
  `90d` int(11) NOT NULL,
  PRIMARY KEY (`Ean`),
  KEY `30d` (`30d`),
  KEY `90d` (`90d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `RecentBekeken`
--

CREATE TABLE `RecentBekeken` (
  `KlantID` int(11) DEFAULT NULL,
  `SessionID` int(11) DEFAULT NULL,
  `EAN` char(13) NOT NULL,
  `DT` datetime NOT NULL,
  `tonen` int(1) NOT NULL DEFAULT '1',
  UNIQUE KEY `SECONDARY` (`SessionID`,`EAN`),
  UNIQUE KEY `TERTIARY` (`KlantID`,`EAN`),
  KEY `DT` (`DT`),
  KEY `EAN` (`EAN`,`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `ReferrerPages`
--

CREATE TABLE `ReferrerPages` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Pagina` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

--
-- Table structure for table `SapOrdersXml`
--

CREATE TABLE `SapOrdersXml` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `dt` datetime DEFAULT NULL,
  `xml` text,
  `status` char(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `SavedCarts`
--

CREATE TABLE `SavedCarts` (
  `Klantid` int(11) DEFAULT NULL,
  `Aantal` int(11) DEFAULT NULL,
  `DT` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `Herinnering` tinyint(4) DEFAULT '0',
  `Ean` varchar(13) DEFAULT NULL,
  KEY `Klantid` (`Klantid`),
  KEY `DT` (`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `SessionAdwordsData`
--

CREATE TABLE `SessionAdwordsData` (
  `SessionId` int(11) NOT NULL,
  `URI` varchar(255) DEFAULT NULL,
  `UTMSource` varchar(255) DEFAULT NULL,
  `UTMMedium` varchar(255) DEFAULT NULL,
  `UTMTerm` varchar(255) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `KeywordId` bigint(20) DEFAULT NULL,
  KEY `NewIndex1` (`SessionId`),
  KEY `NewIndex2` (`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `SessionDetails`
--

CREATE TABLE `SessionDetails` (
  `SessionId` int(11) NOT NULL,
  `DT` datetime DEFAULT NULL,
  `Action` enum('checkout','intzoek','order','page','view') NOT NULL,
  `Ean` varchar(13) DEFAULT NULL,
  `URI` mediumtext,
  `Query` mediumtext,
  `Aantal` int(11) DEFAULT NULL,
  KEY `DT` (`DT`),
  KEY `EanAction` (`Ean`,`Action`,`DT`),
  KEY `NewIndex1` (`Action`,`Query`(10)),
  KEY `NewIndex2` (`SessionId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=COMPRESSED;

--
-- Table structure for table `SessionGclid`
--

CREATE TABLE `SessionGclid` (
  `SessionId` int(11) NOT NULL,
  `Gclid` varchar(255) DEFAULT NULL,
  `Term` varchar(255) DEFAULT NULL,
  KEY `SessionId` (`SessionId`),
  KEY `Gclid` (`Gclid`),
  KEY `Term` (`Term`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `SessionLog`
--

CREATE TABLE `SessionLog` (
  `SessionId` int(11) NOT NULL AUTO_INCREMENT,
  `SessionKey` char(32) DEFAULT NULL,
  `IPAdres` char(16) DEFAULT NULL,
  `Klantid` int(11) DEFAULT NULL,
  `Referer` mediumtext,
  `OrganicTerm` mediumtext,
  `DT` datetime DEFAULT NULL,
  PRIMARY KEY (`SessionId`),
  KEY `IPAdres` (`IPAdres`),
  KEY `Klantid` (`Klantid`),
  KEY `NewIndex1` (`DT`),
  KEY `NewIndex2` (`SessionKey`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED;

--
