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