FSP / Модули
Модули
| Модуль | Версия | Статус | О чём | Зависит от |
|---|---|---|---|---|
core | 1.0 | stable | Общий язык: услуги, единицы начисления, категории товара, габаритные профили, оператор и склад. | — |
pricing | 1.0 | stable | Как оператор описывает свой прайс: тарифный план, предложения, правила цены, условия, модификаторы, ступени. | core |
capacity | 1.0 | stable | Что оператор готов взять, сколько у него свободно и куда он возит. Волатильные данные с отметкой актуальности. | core |
quote | 1.0 | stable | Запрос сметы (операции + объём) и ответ: подошедшие операторы, смета, применённые допущения, коды непокрытия. | core, pricing, capacity |
order | — | planned | Поставка на склад, отгрузка, возврат: заказ как объект обмена между заявителем и оператором. | core, capacity |
tracking | — | planned | События по заказу и остатки на складе оператора. | core, order |
Протокол собран из модулей. Каждый модуль версионируется отдельно и объявляется в манифесте стороны — правка в одном месте не ломает остальные (см. profile/).
Как устроен модуль
modules/<модуль>/
module.json манифест: версия, статус, зависимости, состав реестров, префиксы правил
README.md спецификация модуля
rules.csv нормативные правила модуля
*.csv реестры мастер-данных
schema.json JSON Schema сущностей ($id — https://openfsp.ru/1.0/<модуль>/schema.json)
Реестры объявлены в module.json и сверяются с файлами на диске в обе стороны: необъявленный CSV в каталоге модуля — блокирующая ошибка, как и объявленный реестр без файла.
Версионирование
Версия модуля — MAJOR.MINOR.
MINOR— совместимое добавление: новый реестр, новое необязательное поле, новый код в открытом справочнике.MAJOR— несовместимое изменение: удаление или переименование поля, новое обязательное поле, сужение закрытого справочника, смена смысла существующего кода.
Коды стандартных услуг неизменяемы после публикации (CAT-001) — переименование услуги невозможно ни в какой версии.
Модули planned не имеют реестров и не могут быть объявлены в манифесте. Почему order и tracking ещё не описаны, сказано на странице модуля.
Что не входит в стандарт
appendix/ — разбор реальных прайсов операторов, реестр проверок и открытые дыры. Это материалы проверки стандарта, а не часть протокола.