PRAGMA journal_mode = WAL;
PRAGMA foreign_keys = ON;

CREATE TABLE IF NOT EXISTS rooms (
  id        INTEGER PRIMARY KEY AUTOINCREMENT,
  name        TEXT NOT NULL,
  description TEXT,
  cpu         TEXT,
  ram         TEXT,
  gpu         TEXT,
  mouse       TEXT,
  keyboard    TEXT,
  headphones  TEXT,
  monitor     TEXT,
  bracket     TEXT,
  chair       TEXT
);

INSERT OR IGNORE INTO rooms VALUES
(1,'solo','5 отдельных комнат с мощным железом для игры соло','intel i7-13700kf','kingston 16gX2=32G/3200','Asus dual4070 012g','Logitech superlight 2','Hyper X origins core','Hyper X Cloud II','ASUS ROG 380 Hz','NB Display stand','DX Racer Gladiator'),
(2,'DUO / TRIO','4 комнаты на двоих и 3 на троих','intel i5-14600kf','kingston 16gX2=32G/3200','MSI 4060 Ventus 2X','Logitech superlight 1','Hyper X origins core','Hyper X Cloud II','ASUS ROG 310 Hz','NB Display stand','DX Racer Gladiator'),
(3,'BOOTCAMP 5/6','2 буткэмпа на пять и 1 на шесть игроков','intel i5-12400f','kingston 16gX2=32G/3200','MSI 4060 Ventus 2X','Logitech G403','Hyper X origins core','Hyper X Cloud II','ASUS ROG 310 Hz','NB Display stand','DX Racer Gladiator'),
(4,'ps','Консольный зал','PlayStation 5','2x DualShock','LG 55','','','','','','');

CREATE TABLE IF NOT EXISTS faq (
  id          INTEGER PRIMARY KEY AUTOINCREMENT,
  title       TEXT NOT NULL,
  description TEXT NOT NULL
);

INSERT OR IGNORE INTO faq VALUES
(1,'Можно ли загрузить свою игру?','Да, вы можете установить свою игру самостоятельно, однако после перезагрузки компьютера игра удалится. Если вам нужно долгосрочное использование игры, сообщите нам заранее, и мы поможем всё настроить.'),
(2,'Какая у вас версия игр?','Мы всегда используем только самые свежие и актуальные версии игр. Наши операторы регулярно следят за обновлениями.'),
(3,'Установлены ли CS-2, CS:GO, CS 1.6?','Да, у нас установлены все популярные версии Counter-Strike: CS-2, CS:GO и CS 1.6.'),
(5,'Сколько стоит комп в общем зале?','Общего зала у нас нет. Наш клуб является VIP-форматом и предлагает только приватные кабинки. Вы можете забронировать место в BootCamp 5/6, если вам комфортно играть рядом с другими игроками.'),
(6,'Можно ли распечатать документы?','Да, можно распечатать документы в чёрно-белом формате. Стоимость распечатки — 100 тг за одну сторону листа А4.'),
(7,'Указанная цена за 1 компьютер или за весь буткэмп?','Все цены указаны за одно игровое место (1 компьютер).'),
(8,'Почему такие высокие цены?','Наш клуб ориентирован на тех, кто ценит приватность, комфорт и тишину. Наши гости часто отмечают, что наши цены полностью оправданы высоким уровнем комфорта и качества обслуживания.'),
(9,'Как можно забронировать место?','Есть два способа бронирования:
Через администратора с предварительной оплатой 1000 тг за каждый компьютер.
Онлайн через регистрацию с дополнительной скидкой 10%.');

CREATE TABLE IF NOT EXISTS contacts (
  id    INTEGER PRIMARY KEY AUTOINCREMENT,
  type  TEXT NOT NULL,
  value TEXT NOT NULL
);

INSERT OR IGNORE INTO contacts VALUES
(1,'phone','+7 700 062 8559'),
(2,'whatsapp','https://wa.me/77752608559'),
(3,'tg','https://t.me/StrikeArenaAstana'),
(4,'gis2','https://2gis.kz/astana/firm/70000001097382279'),
(5,'inst','https://www.instagram.com/strikearena_astana');

CREATE TABLE IF NOT EXISTS games (
  id        INTEGER PRIMARY KEY AUTOINCREMENT,
  title     TEXT NOT NULL,
  image_url TEXT,
  platform  TEXT DEFAULT 'pc'
);

INSERT OR IGNORE INTO games VALUES
(14,'Мир танков','image.png','pc'),
(15,'Sims4','image-1.png','pc'),
(16,'Pubg','image-2.png','pc'),
(17,'Generals zerohour','image-3.png','pc'),
(18,'Dota2','image-4.png','pc'),
(19,'Valorant','image-5.png','pc'),
(20,'CS2','image-6.png','pc'),
(21,'League of legends','image-7.png','pc'),
(22,'CS1.6','image-8.png','pc'),
(23,'Genshin Impact','image-9.png','pc'),
(24,'Call of duty','image-10.png','pc'),
(25,'War thunder','image-11.png','pc'),
(26,'Gta 5','image-12.png','pc'),
(27,'Warface','image-13.png','pc'),
(28,'InZoi','image-14.png','pc'),
(29,'Gta SA','image-15.png','pc'),
(30,'It takes two','image-16.png','pc'),
(31,'Heroes of might and magic','image-17.png','pc'),
(32,'Left4dead 2','image-18.png','pc'),
(33,'Frozen throne','image-19.png','pc'),
(34,'Overwatch 2','image-20.png','pc'),
(35,'Nfs carbon','image-21.png','pc'),
(36,'Fortnite','image-22.png','pc'),
(37,'Red dead redemption 2','image-23.png','pc');

CREATE TABLE IF NOT EXISTS prices (
  id        INTEGER PRIMARY KEY AUTOINCREMENT,
  game_type TEXT NOT NULL,
  room_type TEXT NOT NULL,
  day_type  TEXT,
  hour_1    REAL,
  hour_3    REAL,
  hour_5    REAL,
  night     REAL
);

INSERT OR IGNORE INTO prices VALUES
(1,'ПК','solo','ПН-ЧТ',2800,5600,8400,10000),
(2,'ПК','solo','ПТ-ВС',3000,6000,9000,11000),
(3,'ПК','duo','ПН-ЧТ',2500,5000,7500,9500),
(4,'ПК','duo','ПТ-ВС',2700,5400,8100,10500),
(5,'ПК','trio','ПН-ЧТ',2300,4600,6900,9000),
(6,'ПК','trio','ПТ-ВС',2500,5000,7500,9800),
(7,'ПК','five','ПН-ЧТ',2100,4200,6300,8500),
(8,'ПК','five','ПТ-ВС',2300,4600,6900,9200),
(9,'ПК','six','ПН-ЧТ',2000,4000,6000,8200),
(10,'ПК','six','ПТ-ВС',2200,4400,6600,9000),
(11,'PS','lounge','2000',4000,9000,9000,14000),
(13,'PS','vip_normal','2500',5000,10000,10000,15000),
(15,'PS','vip_big','3000',6000,11000,12000,17000);

CREATE TABLE IF NOT EXISTS bookings (
  id             INTEGER PRIMARY KEY AUTOINCREMENT,
  type           TEXT NOT NULL,
  room           TEXT NOT NULL,
  date_time      TEXT NOT NULL,
  time_slot      TEXT NOT NULL,
  name           TEXT NOT NULL,
  game           TEXT,
  contact        TEXT NOT NULL,
  contact_method TEXT,
  status         TEXT DEFAULT 'pending',
  created_at     TEXT DEFAULT (datetime('now'))
);

CREATE INDEX IF NOT EXISTS idx_date_room_time ON bookings (date_time, room, time_slot);
CREATE INDEX IF NOT EXISTS idx_status ON bookings (status);
