-- Создание таблицы расписания работы гидов
CREATE TABLE IF NOT EXISTS guide_schedules (
    id SERIAL PRIMARY KEY,
    guide_id INTEGER NOT NULL REFERENCES guides(id) ON DELETE CASCADE,
    work_date DATE NOT NULL,
    notes TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    
    -- Уникальный индекс для предотвращения дублирования
    UNIQUE(guide_id, work_date)
);

-- Индексы для оптимизации запросов
CREATE INDEX IF NOT EXISTS idx_guide_schedules_guide_id ON guide_schedules(guide_id);
CREATE INDEX IF NOT EXISTS idx_guide_schedules_work_date ON guide_schedules(work_date);
CREATE INDEX IF NOT EXISTS idx_guide_schedules_date_range ON guide_schedules(guide_id, work_date);

-- Комментарии
COMMENT ON TABLE guide_schedules IS 'Расписание рабочих дней гидов';
COMMENT ON COLUMN guide_schedules.guide_id IS 'ID гида';
COMMENT ON COLUMN guide_schedules.work_date IS 'Дата рабочего дня';
COMMENT ON COLUMN guide_schedules.notes IS 'Дополнительные заметки о рабочем дне';