Dressing room organizer

Во многих спортивных клубах посетители сталкиваются с одним неудобством, от которого можно избавиться при помощи несложного технического решения.

Суть неудобства в том, что клиенты, при каждом посещении клуба получают на рецепции ключ от шкафчика в раздевалке без учета расположения и режима занятости шкафчиков в конкретной раздевалке. Обычно это просто случайный выбор из свободных с или без учета пожеланий посетителя. Нередко оказывается, что пришедшие почти одновременно посетители получают ключи от соседних шкафчиков и переодеваться одновременно не могут из-за тесноты. Бывает, что в одном углу теснится несколько человек, а вся остальная раздевалка пустует.

Избавиться от такого неудобства можно, если клиентам выдавать не случайно выбранные ключи, а выбранные специальной программой, которая будет учитывать все факторы и выделять самый удобный вариант. Учитывая, что ключ выдается в обмен на членскую карточку, после регистрации посетителя в учетной программе, неудобство рецепции от внедрения дополнительной операции выделения шкафчика должно быть минимальным.

Реализация подобной программы показалась мне интересной задачей для реализации на досуге. Решение было написано за один вечер, после незначительного рефакторинга размещено на GitHUB.

Решение предполагает независимый engine и model(для конкретных раздевалок). Сущность Box(шкафчик) содержит номер для идентификации шкафчика. Так же в каждом экземпляре Box есть список шкафчиков, пользователи которых создают помехи для пользователя этого шкафчика при попытке одновременного доступа. Еще есть список шкафчиков, пользователям которых, в свою очередь, создаст помехи пользователь этого шкафчика. Предполагается, что клиент пользуется шкафчиком дважды: перед тренировкой и после нее. Все остальное время шкафчик является занятым, но не создает помех для пользователей соседних. Длительность переодевания до и после тренировки, а также длительность самой тренировки можно устанавливать с учетом специфики конкретного клуба. По умолчанию эти параметры установлены на уровне 10 минут/ 60 минут/ 10 минут. Функции программы две: выделение шкафчиков для вновь приходящих клиентов и освобождение по мере возврата ключей на рецепцию. Для демонстрации создана простая модель раздевалки(см. рисунок) и реализован простейший графический интерфейс управления операциями.

DressingRoomDemo

После тестирования программы, я предложил ее в подарок клубу, который сам посещаю, но они отказались. Если любой другой клуб захочет ею воспользоваться — пользуйтесь, это бесплатно.

Несложные доработки позволят вести статистику и анализировать время нахождения в клубе конкретных клиентов, анализировать пики загрузки клуба, потенциальные зоны роста и многое другое. Аналогичного сервиса для своих клиентов(оптимальное заполнение раздевалки), на сколько мне известно, на рынке не существует.

Добавить комментарий