Предположительно на конструкторе puzzlebot или предлагайте другие варианты Клиент заходит в телегу Выбирает локацию (в зависимости от локации будут разные магазины с разными ценами) 1) может посмотреть модели описание и тарифы При желании взять в аренду он падает на форму регистрации 2) регистрация 3) при регистрации он так же должен перейти по ссылке в сервис Оки доки и заполнить договор 4) после заполнения договора аренды сторонами, администратор жмёт кнопку где то и пропускает клиента дальше по функционалу 5) далее клиент попадает в магазин 6) в магазине выбирает модель велосипеда под номером таким то и тариф (например куго велосипед на 30 минут) (соответственно нам нужно постоянно в магазине ставить и убирать в ручную на такой-то локации такие то велосипеды или самокаты под таким то номерами) 7) в одни руки клиент может взять не более двух ед техники ( возможно изменение количества по запросу клиента) 8) падает в форму оплаты 9) бот получает ответ об оплате 10) у клиента появляется на 30 минут (или больше в зависимости от тарифа) меню управления самокатом или самокатов (включить, выключить номер вела такой то, если их два вела то меню управления обоими) 11) велосипеды все привязаны к постам замками ( соответственно должна так же появиться кнопка открытия замка тросса) 12) в это время при нажатии на вкл элсамокат бот отправляет второму боту существующему команду на отправку смс и считывает ответ и пересылает данному клиенту видоизмененый ответ, при этом все команды на отправку смс и получение ответа от других участников встают на паузу на 15 секунд. 13) за 5 минут до окончания аренды участник получает информирование что время заканчивается с предложением продлить аренду. 14) когда клиент поставил велосипед на замок отправляет команду что закончил аренду с уведомлением администратору.
Так же есть бот срм системы kaiten в который можно отправлять команды и он будет заводить карточки и т.д. тут естественно нужен учёт и катен, как и таблицы так же желательно подцепить
Пример бота условная рыба @RentRD_bot
По системе оплаты рассматриваем такой вариант с подключением юкассы и api предварительно по системе Привязки карты с удержанием залога и списыванием средств каждые 10 минут ( примерно) ( Система по состоянию счета) yookassa.ru/docs/support/...
- В момент начала аренды фиксируется время начала и идентификатор самоката.
- Отслеживание времени аренды: - Каждые 10 минут происходит проверка времени аренды. - Если прошло 10 минут, система: - Рассчитывает сумму за аренду (например, ставка аренды в минуту * количество минут). - Списывает эту сумму с счета клиента через API платежной системы.
- Автоматическая оплата: - Когда создается запрос на списание, система: - Отправляет запрос на списание через API (например, API банка или платежного сервиса). - Получает ответ о статусе транзакции (успех или неудача). - Если платеж успешен, время аренды продолжается. В противном случае аренда завершится.
- Завершение аренды: - Когда клиент завершает аренду (например, возвращает самокат), система: - Рассчитывает общее время аренды и итоговую сумму. - Если есть несостоявшиеся списания, их необходимо обработать. - Подтверждает завершение аренды и доступность самоката.
- Уведомления: - Клиент получает уведомления о статусе оплаты каждый раз, когда списываются средства (успешно или неудачно). - Информация о текущем балансе и затратах на аренду также отображается в приложении.
Эта схема обеспечивает прозрачность процесса аренды и удобство для клиента, а также помогает избежать проблем с оплатой. Для реализации удержания залога через систему платежей при аренде самокатов, можно использовать следующий подход: - Залог при аренде: - При начале аренды самоката клиенту предлагается внести залог (например, фиксированную сумму). - Эта сумма временно блокируется на счете клиента или списывается и хранится на специальном счете.
- Блокировка средств: - Когда клиент запускает аренду, система отправляет запрос на блокировку суммы залога через API платежной службы. - Блокировка гарантирует, что эти средства будут доступны для удержания в случае повреждения или потери самоката.
- Оплата за аренду: - Во время аренды, сумма за аренду (например, каждые 10 минут) списывается с текущего баланса клиента, как описано ранее. - При этом залог продолжает оставаться заблокированным.
- Завершение аренды: - Когда клиент завершает аренду, система: - Проверяет состояние самоката. - Если самокат возвращен в хорошем состоянии, залог разблокируется и возвращается клиенту. - Если есть повреждения, система может удержать часть или всю сумму залога в зависимости от ущерба. - Клиент получает уведомление о статусе залога (разблокирован или удержан).
- Уведомления и отчеты: - Клиент получает уведомления о статусе залога в начале и конце аренды. - Информация о заблокированной сумме также отображается в приложении, чтобы клиент был в курсе.