feat: add operations list
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# Brokerage Account Ledger Specification
|
||||
|
||||
## Purpose
|
||||
|
||||
Позволяет пользователю просматривать исполненные операции одного брокерского счёта, чтобы понимать фактические денежные и инструментальные движения.
|
||||
|
||||
## Requirements
|
||||
|
||||
### Requirement: User can retrieve an account ledger
|
||||
Система ДОЛЖНА предоставлять аутентифицированный журнал только для чтения одного Brokerage Account, принадлежащего текущему User. Журнал ДОЛЖЕН содержать только исполненные операции T-Bank и при отсутствии периода по умолчанию охватывать интервал от начала текущего календарного года до момента запроса.
|
||||
|
||||
#### Scenario: Получение журнала с периодом по умолчанию
|
||||
- **WHEN** аутентифицированный User запрашивает журнал принадлежащего ему Brokerage Account без периода
|
||||
- **THEN** система возвращает его исполненные операции от начала текущего календарного года до момента запроса
|
||||
|
||||
#### Scenario: Отклонение недоступного счёта
|
||||
- **WHEN** аутентифицированный User запрашивает журнал счёта, который не является открытым поддерживаемым счётом, доступным через его T-Bank connection
|
||||
- **THEN** система возвращает существующий ответ о недоступности счёта и не раскрывает операции
|
||||
|
||||
### Requirement: User can browse a filtered ledger
|
||||
Система ДОЛЖНА позволять User ограничивать журнал включительным периодом дат и любым подмножеством категорий trade, income, tax, fee, transfer, other. Система ДОЛЖНА разбивать упорядоченный результат на страницы с непрозрачным cursor и возвращать признак доступности следующей страницы.
|
||||
|
||||
#### Scenario: Фильтрация доходных операций за период
|
||||
- **WHEN** User запрашивает период дат и категорию income
|
||||
- **THEN** результат содержит только исполненные доходные операции с датой в пределах этого периода
|
||||
|
||||
#### Scenario: Продолжение истории
|
||||
- **WHEN** User запрашивает cursor следующей страницы, возвращённый предыдущим ответом журнала
|
||||
- **THEN** система возвращает следующую страницу без повторения записей предыдущей страницы
|
||||
|
||||
### Requirement: Ledger entries preserve broker operation meaning
|
||||
Система ДОЛЖНА представлять одну upstream-операцию одной записью журнала и ДОЛЖНА передавать её timestamp, тип операции, категорию, описание, доступные идентификаторы инструмента, денежную выплату, количество, цену, НКД и комиссию. Денежные поля ДОЛЖНЫ сохранять исходную валюту и точное десятичное значение.
|
||||
|
||||
#### Scenario: Отображение купонной выплаты
|
||||
- **WHEN** T-Bank возвращает исполненную купонную операцию с выплатой и данными инструмента
|
||||
- **THEN** запись журнала определяет её как income и передаёт исходную сумму выплаты, валюту и данные инструмента
|
||||
|
||||
#### Scenario: Отображение комиссии сделки без синтетической записи
|
||||
- **WHEN** T-Bank возвращает исполненную сделку, содержащую выплату и комиссию
|
||||
- **THEN** журнал содержит одну запись сделки с комиссией в качестве её детали
|
||||
|
||||
#### Scenario: Отображение движения бумаг без денег
|
||||
- **WHEN** T-Bank возвращает исполненную операцию, изменяющую состав инструментов, но без денежной выплаты
|
||||
- **THEN** запись журнала передаёт доступное количество и не содержит искусственной денежной выплаты с нулевым значением
|
||||
|
||||
### Requirement: Account overview includes recent ledger events
|
||||
Обзор счёта ДОЛЖЕН показывать пять последних исполненных записей журнала этого счёта и действие перехода к его полному журналу. Неуспешный или пустой запрос последних записей ДОЛЖЕН оставаться локальным состоянием блока последних событий и НЕ ДОЛЖЕН заменять успешно отображённый обзор Portfolio.
|
||||
|
||||
#### Scenario: Отображение последних событий
|
||||
- **WHEN** загружается обзор счёта и его журнал содержит исполненные операции
|
||||
- **THEN** обзор показывает не более пяти последних записей и ссылку на полный журнал
|
||||
|
||||
#### Scenario: Последние записи недоступны
|
||||
- **WHEN** обзор счёта успешно загружается, но запрос последних записей завершается ошибкой
|
||||
- **THEN** обзор Portfolio остаётся доступным, а блок последних событий отображает собственное состояние восстановления
|
||||
|
||||
### Requirement: Full ledger presents compact rows
|
||||
Страница полного журнала ДОЛЖНА показывать для каждой записи дату, тип операции, инструмент и денежное изменение в исходной валюте. Она ДОЛЖНА обозначать записи без движения денег и НЕ ДОЛЖНА показывать цену или количество.
|
||||
|
||||
#### Scenario: Отображение записи только с инструментом
|
||||
- **WHEN** полный журнал отображает запись без денежной выплаты
|
||||
- **THEN** страница определяет её как запись без движения денег
|
||||
Reference in New Issue
Block a user