CREATE TABLE IF NOT EXISTS `payonline_transaction_$mid` (
  `id` int  NOT NULL AUTO_INCREMENT,
  `trans_id` BIGINT  NOT NULL,
  `summa` double  NOT NULL,
  `contract_id` int  NOT NULL,
  `pay_date` datetime  NOT NULL,
  `autopayment` tinyint(1) DEFAULT '0',  
  PRIMARY KEY (`id`)
);

CREATE TABLE IF NOT EXISTS `payonline_rebill_transaction_$mid` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `transaction_id` bigint(20) NOT NULL,
  `cid` int(11) NOT NULL,
  `result` varchar(45) NOT NULL,
  `code` int(11) NOT NULL,
  `status` varchar(45) NOT NULL,
  `error_code` int(11) DEFAULT NULL,
  `date` date NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE IF NOT EXISTS `payonline_rebill_$mid` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cid` int(11) NOT NULL,
  `rebill_anchor` varchar(255) NOT NULL,
  `summa` decimal(10,2) NOT NULL,
  `order_id` varchar(45) NOT NULL,
  `activation_date` date NOT NULL,
  `periodicity` int(11) NOT NULL DEFAULT '2',
  `day` int(11) NOT NULL,
  PRIMARY KEY (`id`)
);

ALTER TABLE payonline_transaction_$mid ADD KEY contract_id(contract_id);
ALTER TABLE payonline_transaction_$mid ADD UNIQUE KEY trans_id(trans_id);

CREATE TABLE payonline_transaction_payment_map_$mid (
  transaction_id int(11) DEFAULT NULL,
  payment_id int(11) DEFAULT NULL,
  type int(11) DEFAULT NULL
);

CREATE TABLE IF NOT EXISTS `payonline_autopayment_$mid` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `contract_id` int(11) NOT NULL,
  `date1` datetime DEFAULT NULL,
  `date2` datetime DEFAULT NULL,
  `sum` decimal(12,2) NOT NULL,
  `mode` int(11) NOT NULL,
  `mode_data` varchar(255) NOT NULL,
  `data` text,
  `access_token` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `period` (`date1`,`date2`),
  KEY `contract_id` (`contract_id`),
  KEY `mode` (`mode`)
);

ALTER TABLE `payonline_transaction_$mid` ADD COLUMN `autopayment` tinyint(1) DEFAULT '0' AFTER `pay_date`;

-- #BLOCK#

DELETE FROM script_event_type WHERE mid=$mid;

INSERT INTO script_event_type (mid, event_id, event_mode, title) VALUES ($mid, 'ru.bitel.bgbilling.modules.payonline.server.event.PayonlineAutopaymentSumEvent', 1, 'Изменение суммы Автоплатежа');

-- #ENDB#