first
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
-- SQL инструкция для добавления функционала бронирования с временем
|
||||
-- Выполните этот скрипт в вашей MySQL базе данных
|
||||
|
||||
-- Создание таблицы bookings для хранения бронирований
|
||||
CREATE TABLE IF NOT EXISTS `bookings` (
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`type` VARCHAR(50) NOT NULL COMMENT 'Тип активности: pc, ps, tv, zayvka',
|
||||
`room` VARCHAR(50) NOT NULL COMMENT 'Тип комнаты: solo, duo, trio, bootcamp 5, bootcamp 6',
|
||||
`date_time` DATETIME NOT NULL COMMENT 'Полная дата и время бронирования',
|
||||
`time_slot` VARCHAR(5) NOT NULL COMMENT 'Временной слот в формате HH:00 (например, 14:00)',
|
||||
`name` VARCHAR(255) NOT NULL COMMENT 'Имя клиента',
|
||||
`game` VARCHAR(255) DEFAULT NULL COMMENT 'Название игры (опционально)',
|
||||
`contact` VARCHAR(50) NOT NULL COMMENT 'Контактный номер телефона',
|
||||
`contact_method` VARCHAR(20) DEFAULT NULL COMMENT 'Способ связи: telegram, whatsapp, phone',
|
||||
`status` ENUM('pending', 'confirmed', 'cancelled') DEFAULT 'pending' COMMENT 'Статус бронирования',
|
||||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата создания записи',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_date_room_time` (`date_time`, `room`, `time_slot`),
|
||||
INDEX `idx_status` (`status`),
|
||||
INDEX `idx_date` (DATE(`date_time`))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Таблица бронирований';
|
||||
|
||||
-- Пример запроса для проверки структуры таблицы:
|
||||
-- DESCRIBE bookings;
|
||||
|
||||
-- Пример запроса для просмотра всех бронирований:
|
||||
-- SELECT * FROM bookings ORDER BY date_time DESC;
|
||||
|
||||
-- Пример запроса для просмотра бронирований на конкретную дату:
|
||||
-- SELECT * FROM bookings WHERE DATE(date_time) = '2026-01-25' ORDER BY time_slot;
|
||||
|
||||
-- Пример запроса для подсчета занятых слотов по времени и комнате:
|
||||
-- SELECT time_slot, room, COUNT(*) as booked_count
|
||||
-- FROM bookings
|
||||
-- WHERE DATE(date_time) = '2026-01-25'
|
||||
-- AND room = 'solo'
|
||||
-- AND status != 'cancelled'
|
||||
-- GROUP BY time_slot, room;
|
||||
Reference in New Issue
Block a user