Подключена общая база данных: цены, закрытые даты и заявки гостей хранятся на сервере и мгновенно
обновляются на всех устройствах.
Это офлайн-прототип: цены и закрытые даты хранятся в этом браузере (localStorage), а не на сервере —
изменения видны только на этом устройстве, пока у сайта нет бэкенда. Заявки, отправленные клиентами,
попадают в ленту «Новые брони» ниже только если бронирование было сделано в этом же браузере (для теста).
Реальные заявки клиентов приходят вам в WhatsApp в момент отправки формы — это работает уже сейчас,
независимо от бэкенда.
Сайт каждые 10 секунд спрашивает у нашего сервера, какие даты заняты в календарях Booking.com и Airbnb,
и сразу показывает это гостям: занятые номера пропадают из поиска, а при отправке заявки даты проверяются
ещё раз. Ссылки («ключи») iCal хранятся только в настройках Netlify, а не здесь и не в браузере.
Как подключить: Booking.com Extranet → Тарифы и доступность → Синхронизация календарей →
Экспорт (по одной ссылке на номер) → Netlify → Site configuration → Environment variables →
BOOKING_ICAL_URLS. Подробности и примеры — в файле shop/backend/SETUP.md.
Важно: Booking сам формирует файл iCal и может обновлять его с задержкой в несколько минут; сайт забирает
его каждые 10 секунд и показывает ровно то, что Booking уже опубликовал.