Сайт барбершопа с онлайн-записью: шесть услуг от детской стрижки до королевского бритья и десять слотов с 10:00 до 19:00.
Интересное здесь в бэкенде. Перед отправкой формы фронтенд запрашивает GET /api/slots?date= и подсвечивает уже занятое время. Но настоящая защита стоит на сервере: услуга и время сверяются с белыми списками, а занятость слота проверяется повторно при сохранении. Записаться на услугу, которой нет в прайсе, или на уже занятое время нельзя даже прямым запросом в API, минуя интерфейс.
Как это выглядит