# Florex — блокировка занятых тайм-слотов

## Что делает
1. Shopify при создании / изменении / отмене заказа шлёт вебхук на `slots-webhook.php`.
2. Скрипт читает атрибуты заказа «Fecha de entrega» и «Hora de entrega» и записывает их в `data/slots.json`.
3. Секция темы при выборе даты запрашивает `slots.php?date=…` и показывает занятые слоты серыми с пометкой «completo».
4. Перед переходом на чекаут слот проверяется ещё раз — если его только что заняли, клиент видит предупреждение и выбирает другой.

Заказы «Hoy» (A confirmar por WhatsApp) слот не занимают.
Заказы, созданные вручную в админке, тоже учитываются — если у них проставлены те же атрибуты (Additional details в заказе).

## Установка на OVH (webhook.florex.es)
1. Загрузить в корень сайта: `config.php`, `slots-lib.php`, `slots-webhook.php`, `slots.php`, `.htaccess`, папку `data/` (с `slots.json` и `.htaccess`).
2. Дать PHP право записи в `data/` (chmod 775 или владелец = пользователь PHP).
3. В `config.php` вставить секрет вебхука (см. ниже) и при необходимости изменить `limit_per_slot`.
4. Проверить: открыть `https://webhook.florex.es/slots.php?date=2026-10-01` — должен вернуть `{"date":"2026-10-01","taken":[]}`.

## Вебхуки в Shopify
Settings → Notifications → Webhooks → Create webhook. Создать **три** штуки, формат JSON, URL один и тот же: `https://webhook.florex.es/slots-webhook.php`
- Order creation
- Order update
- Order cancellation

Внизу страницы Webhooks показан секрет («All your webhooks will be signed with …») — его в `config.php`.

## Тема
Заменить содержимое `sections/florex-delivery.liquid` на прилагаемый файл. В настройках секции появится поле «URL de disponibilidad de horarios» — уже заполнено. Если оставить пустым, блокировка выключается, всё остальное работает как раньше.

## Проверка
1. Сделать тестовый заказ на завтра, слот 12:00–12:30.
2. Открыть корзину в другом браузере, выбрать «Mañana» — слот 12:00–12:30 должен быть серым.
3. Отменить тестовый заказ в админке — слот снова свободен.

## Дополнительно
- Лимит на слот: `limit_per_slot` в `config.php` (сейчас 1).
- Данные старше 60 дней чистятся автоматически.
- Освободить слот вручную: отменить заказ или изменить атрибут «Hora de entrega» в заказе (Additional details).
