> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yume.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Глоссарий: Уведомления о штрафах

> Справочник моделей, задач и обработчиков, участвующих в подтягивании штрафов ПДД из сервиса автоштрафов и рассылке уведомлений арендаторам.

Справочник к странице [«Уведомления о штрафах»](/ru/logic/auto-penalties/notifications).

## Понятия

| Понятие                                      | Значение                                                                                                                                                                                                        |
| -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Автомобиль сервиса автоштрафов               | Автомобиль, известный сервису, по которому подтягиваются штрафы. Идентифицируется уникальным ID во внешнем сервисе.                                                                                             |
| Штраф                                        | Штраф ПДД со всеми реквизитами оплаты, документами и связями с авто, водителем и компанией. При сохранении PDF протокола скачивается по ссылке и сохраняется в облачном хранилище.                              |
| Привязка авто компании к сервису автоштрафов | Связь автомобиля компании (единицы инвентаря) с автомобилем сервиса автоштрафов. Уникальна по компании, авто и идентификатору единицы инвентаря.                                                                |
| Уведомление о штрафе                         | Запись об отправленном клиенту WhatsApp-уведомлении о штрафе. Уникальна по телефону и штрафу; создание ставит фоновую задачу отправки WhatsApp (до трёх повторов с интервалом 5 минут) и системное уведомление. |
| Задача: рассылка уведомлений о штрафах       | Фоновая задача, которая по свежим штрафам находит привязку авто к компании, активную аренду на дату нарушения и создаёт запись уведомления клиенту.                                                             |
| Обработчик: отправка уведомления клиенту     | Сигнал сохранения уведомления: при создании записи ставит фоновую задачу отправки клиенту сообщения о штрафе в WhatsApp и задачу внутреннего уведомления.                                                       |
| Заглушка: обработчик сохранения штрафа       | Приёмник сигнала сохранения штрафа — сейчас пустая заготовка, зарезервированная под будущие уведомления.                                                                                                        |
| Заглушка: обработчик удаления штрафа         | Приёмник сигнала удаления штрафа — сейчас пустая заготовка, зарезервированная под очистку данных.                                                                                                               |

## Модели и поля

### Автомобиль сервиса автоштрафов

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

**Идентификация**

| Поле                     | Тип   | Описание                                         |
| ------------------------ | ----- | ------------------------------------------------ |
| ID в сервисе автоштрафов | число | Уникальный идентификатор авто во внешнем сервисе |
| Номер автомобиля         | текст | Госномер автомобиля                              |
| Номер техпаспорта        | текст | Номер технического паспорта авто                 |

**Состояние**

| Поле           | Тип        | Описание                                        |
| -------------- | ---------- | ----------------------------------------------- |
| Дата активации | дата/время | Когда авто было активировано для синхронизации  |
| Активен        | флаг       | Включена ли синхронизация штрафов по этому авто |

**Служебное**

| Поле            | Тип        | Описание                            |
| --------------- | ---------- | ----------------------------------- |
| Дата создания   | дата/время | Момент появления записи в системе.  |
| Дата обновления | дата/время | Момент последнего изменения записи. |

### Штраф

*Штраф ПДД со всеми реквизитами оплаты, документами и связями с авто, водителем и компанией. При сохранении PDF протокола скачивается по ссылке и сохраняется в облачном хранилище.*

**Основные данные**

| Поле                            | Тип             | Описание                                           |
| ------------------------------- | --------------- | -------------------------------------------------- |
| ID в сервисе автоштрафов        | число           | Уникальный идентификатор штрафа во внешнем сервисе |
| Номер протокола                 | текст           | Номер протокола о нарушении                        |
| Описание нарушения              | текст           | —                                                  |
| Орган, выявивший правонарушение | текст           | Название органа, зафиксировавшего нарушение        |
| Основная мера наказания         | текст           | —                                                  |
| Сумма штрафа                    | число (2 знака) | Сумма штрафа в тенге                               |

**Адрес и время нарушения**

| Поле                   | Тип        | Описание                                                   |
| ---------------------- | ---------- | ---------------------------------------------------------- |
| Адрес нарушения        | текст      | —                                                          |
| Дата нарушения         | дата       | —                                                          |
| Время нарушения        | время      | —                                                          |
| Дата и время нарушения | дата/время | Вычисляется из даты и времени нарушения, только для чтения |

**Статус оплаты**

| Поле                  | Тип        | Описание                                     |
| --------------------- | ---------- | -------------------------------------------- |
| Оплачен               | флаг       | Оплачен ли штраф                             |
| Дата оплаты           | дата/время | —                                            |
| Дата истечения скидки | дата/время | До какого момента действует скидка на оплату |

**Реквизиты оплаты**

| Поле                       | Тип   | Описание                                |
| -------------------------- | ----- | --------------------------------------- |
| КНО                        | текст | Код налогового органа (реквизит оплаты) |
| КБК                        | текст | Код бюджетной классификации             |
| КНП                        | текст | Код назначения платежа                  |
| Название налогового органа | текст | Получатель платежа                      |
| IBAN налогового органа     | текст | Банковский счёт получателя              |
| БИН налогового органа      | текст | БИН получателя платежа                  |

**Документы**

| Поле                     | Тип    | Описание                                        |
| ------------------------ | ------ | ----------------------------------------------- |
| PDF протокола            | файл   | PDF протокола, сохранённый в облачном хранилище |
| Ссылки на фото нарушения | список | Список ссылок на фотографии нарушения           |

**Связи**

| Поле       | Тип   | Описание                              |
| ---------- | ----- | ------------------------------------- |
| Автомобиль | связь | Автомобиль, по которому выписан штраф |
| Водитель   | связь | Водитель-нарушитель                   |
| Компания   | связь | Компания-нарушитель (владелец авто)   |

### Привязка авто компании к сервису автоштрафов

*Связь автомобиля компании (единицы инвентаря) с автомобилем сервиса автоштрафов. Уникальна по компании, авто и идентификатору единицы инвентаря.*

| Поле                           | Тип   | Описание                                                     |
| ------------------------------ | ----- | ------------------------------------------------------------ |
| Компания                       | связь | Компания, которой принадлежит привязка                       |
| Автомобиль сервиса автоштрафов | связь | Связанный автомобиль сервиса автоштрафов (может быть пустым) |
| ID единицы инвентаря           | число | ID автомобиля в инвентаре компании                           |

**Служебное**

| Поле            | Тип        | Описание                              |
| --------------- | ---------- | ------------------------------------- |
| Дата создания   | дата/время | Момент создания привязки.             |
| Дата обновления | дата/время | Момент последнего изменения привязки. |

### Уведомление о штрафе

*Запись об отправленном клиенту WhatsApp-уведомлении о штрафе. Уникальна по телефону и штрафу; создание ставит фоновую задачу отправки WhatsApp (до трёх повторов с интервалом 5 минут) и системное уведомление.*

| Поле        | Тип   | Описание                                                      |
| ----------- | ----- | ------------------------------------------------------------- |
| Телефон     | текст | Номер телефона получателя уведомления                         |
| ID клиента  | число | Идентификатор клиента-получателя                              |
| Компания    | связь | Компания, отправившая уведомление                             |
| Штраф       | связь | Штраф, о котором уведомляют                                   |
| Доп. данные | JSON  | Дополнительные данные (имя клиента, название компании и т.п.) |

### Задача: рассылка уведомлений о штрафах

*Фоновая задача, которая по свежим штрафам находит привязку авто к компании, активную аренду на дату нарушения и создаёт запись уведомления клиенту. Запускается из синхронизации PDF; окно нарушений — 14 дней от момента запуска, штрафы фильтруются по моменту создания.*

| Поле                            | Тип        | Описание                                                                                                                  |
| ------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------- |
| Момент запуска синхронизации    | дата/время | Точка отсчёта: берутся штрафы, созданные не раньше этого момента; дата нарушения — не старше 14 дней до него              |
| Нижняя граница даты нарушения   | дата       | Момент запуска минус 14 дней; отсекает старые нарушения                                                                   |
| Отобранные штрафы               | список     | Штрафы с автомобилем, созданные после момента запуска, с нарушением не старше 14 дней                                     |
| Привязка авто к компании        | связь      | Привязка авто к компании по автомобилю штрафа; без неё штраф пропускается                                                 |
| Компания-арендодатель           | связь      | Компания, которой принадлежит авто                                                                                        |
| Название компании для сообщения | текст      | Из настройки названия компании, иначе имя компании; пустой плейсхолдер игнорируется                                       |
| Единица автопарка компании      | связь      | Автомобиль в автопарке компании по госномеру авто штрафа                                                                  |
| Дата и время нарушения          | дата/время | Склейка даты и времени нарушения штрафа для поиска покрывающей аренды                                                     |
| Покрывающая аренда              | связь      | Позиция заявки аренды в статусе «в аренде», «превышение», «завершена» или «должник», чей период включает момент нарушения |
| Клиент-арендатор                | связь      | Клиент из заявки аренды — получатель уведомления                                                                          |

### Обработчик: отправка уведомления клиенту

*Сигнал сохранения уведомления: при создании записи ставит фоновую задачу отправки клиенту сообщения о штрафе в WhatsApp и задачу внутреннего уведомления. Срабатывает только при создании записи; при отсутствии авто у штрафа выходит. Задача отправки пропускает штраф без скачанного протокола, записав предупреждение в журнал.*

| Поле                               | Тип   | Описание                                                                                         |
| ---------------------------------- | ----- | ------------------------------------------------------------------------------------------------ |
| Текст WhatsApp-сообщения           | текст | Двуязычное (казахский + русский) уведомление о нарушении с номером авто, датой, суммой и органом |
| Отправка через WhapiClient         | вызов | Шлёт текст и PDF протокола штрафа на телефон уведомления                                         |
| Текст внутреннего уведомления      | текст | Краткое сообщение для веб, push и Telegram                                                       |
| Постановка внутреннего уведомления | вызов | Ставит задачу внутреннего уведомления по теме «штраф создан» с каналами веб, push и Telegram     |

### Заглушка: обработчик сохранения штрафа

*Приёмник сигнала сохранения штрафа — сейчас пустая заготовка при создании штрафа. Логики нет, зарезервировано под будущие уведомления.*

### Заглушка: обработчик удаления штрафа

*Приёмник сигнала удаления штрафа — сейчас пустая заготовка. Зарезервировано под очистку данных.*
