/**

 @defgroup public_capital_registration_process Регистрация участников
 @ingroup public_capital_processes
 
 Процесс приёма договора УХД от пайщика, смены его статуса с кандидата в участники на активного участника 
 и обеспечения технической возможности участвовать в проектах и программе благороста.

 \htmlonly
 <div class="mermaid">
 sequenceDiagram
     participant П as Пайщик
     participant К as Capital Contract
     participant С as Soviet Contract
     
     П->>К: 1. Подача договора УХД
     Note over К: Проверка уникальности кандидата
     Note over К: Валидация договора УХД
     К->>К: 2. Создание записи кандидата в участники
     К->>С: 3. Направление на одобрение
     alt Одобрение
         С->>К: 4. Авторизация регистрации
         Note over К: Смена статуса: кандидат → участник
         Note over К: Создание программного кошелька
     else Отклонение
         С->>К: 4. Отклонение регистрации
         Note over К: Удаление записи кандидата
     end
 </div>
 \endhtmlonly


 ## Пошаговое описание процесса

 ### Шаг 1: Подача договора УХД
 <b>Действие:</b> @ref capital::regcontrib "подача заявки на регистрацию"
 
 Пайщик подает договор управления хозяйственной деятельностью с указанием почасовой ставки. 
 Система проверяет уникальность кандидата и хеша контрибьютора, валидирует договор УХД.
 
 @post Передан договор УХД
 @post Создается запись кандидата в участники
 @post Создается заявка на одобрение

 ### Шаг 2: Создание записи кандидата в участники
 <b>Действие:</b> @ref capital::regcontrib "создание записи кандидата"
 
 Система создает запись кандидата в участники со статусом PENDING с зафиксированными параметрами:
 почасовой ставкой, договором УХД и уникальным хешем.
 
 @post Создается запись кандидата в участники со статусом PENDING

 ### Шаг 3: Направление на одобрение
 <b>Действие:</b> @ref Soviet::create_approval "направление заявки на рассмотрение"
 
 Система направляет заявку на одобрение председателю кооператива с приложенным договором УХД
 и всеми необходимыми данными для принятия решения.
 
 @post Создается заявка на одобрение

 ### Шаг 4: Авторизация регистрации
 <b>Действие:</b> @ref capital::approvereg "одобрение регистрации участника"
 
 Председатель одобряет регистрацию участника. Система меняет статус кандидата с PENDING на ACTIVE,
 превращая его в полноправного участника, и создает программный кошелек для участия в проектах.
 
 @post Изменяется статус кандидата на ACTIVE (кандидат становится участником)
 @post Создается программный кошелек для участника

 <b>Альтернатива:</b> @ref capital::declinereg "отклонение регистрации"
 
 При отклонении система удаляет запись кандидата в участники из базы данных с указанием причины отказа.
 
 @post Удаляется запись кандидата в участники

 ## Результат процесса
 
 После успешного завершения:
 1. Пайщик-кандидат становится полноправным участником со статусом ACTIVE
 2. Зафиксированы условия оценки трудового вклада
 3. Создана правовая основа для участия в проектах через договор УХД
 4. Открыт программный кошелек для операций по проектам

 ## Документы процесса
  @include{doc} registration-docs.dox

 ## Связанные процессы
 
 - @ref public_capital_joining_process "Получение допуска к проекту"
 
 
 */