Ниже — карта модуля, сквозной поток денег и список страниц раздела. Каждая страница описывает штатное поведение своей подсистемы.
Карта модуля
Модуль аренды работает в отдельной области данных каждой компании — у каждой компании своя схема базы данных с собственным набором таблиц, и запрос видит только её. Центральная сущность — Аренда, вокруг которой собраны инвентарь, деньги и аналитика.Как считаются деньги (сквозной поток)
Ключ к пониманию модуля — пересчёт состава аренды. Это синхронная операция, которая при каждом изменении состава аренды заново пересчитывает всю её арифметику: суммы строк, скидки, налог и штрафы. Расчёт выполняется целиком на стороне базы данных. Синхронным он остаётся намеренно: именно его результат уходит в ответ, поэтому вынос в фон означал бы, что клиент видит устаревшие суммы и долг. А вот следствия смены статуса — уведомления и лиды воронки — выполняются фоновой задачей после фиксации изменений.Страницы раздела
Инвентарь
Физический экземпляр, вычисляемый статус (статус не хранится в базе, а вычисляется), доступность с буфером, субаренда, страховка, авто.
Товары (группы единиц)
Товар = пул взаимозаменяемых единиц; доступность вычисляется на лету, единица подбирается автоматически при аренде.
Комплекты
Комплект = набор из разных товаров со своей ценой и тарифами; цена собирается из позиций, число комплектов ограничено дефицитной позицией.
Аренда: жизненный цикл
Аренда, семь статусов (включая отдельный «Просрочена»), паузы, расписания, доставки.
Пересчёт сумм и цен
Ядро ценообразования: сумма за инвентарь = цена тарифа × округлённое вверх число периодов; скидки, налог, штрафы, «заморозка» тарифа.
Депозиты и штрафы
Залоги (текстовые и денежные), ручные и авто-штрафы по заявке и по позициям, формула пени за просрочку и фоновое начисление.
Финансы и оплаты
Лента операций (приход / расход), счета и балансы, оплаты и расчёт долга, переводы между счетами и возвраты.
Метрики и аналитика
Каталог метрик только для чтения поверх Прибыли, фильтр периода, дашборд.
Прибыль и окупаемость
Прибыль по дням (плановый заработок и фактическая прибыль по каждому дню), Окупаемость и её процент, линейная амортизация.
Фоновые процессы
Что действительно фоновая задача, а что синхронная операция; учёт компании в фоновых задачах, расписание запусков.
Клиенты, бонусы, рефералы
Карточка клиента, документы (проверка личности), бонусы / кэшбэк, лояльность, реферальные агенты, чёрный список.