diff --git a/oms/free-rest-and-reserve-journal/free-rest.puml b/oms/interface-arm/free-rest-and-reserve-journal/free-rest.puml
similarity index 96%
rename from oms/free-rest-and-reserve-journal/free-rest.puml
rename to oms/interface-arm/free-rest-and-reserve-journal/free-rest.puml
index 7768dbf..5c19e88 100644
--- a/oms/free-rest-and-reserve-journal/free-rest.puml
+++ b/oms/interface-arm/free-rest-and-reserve-journal/free-rest.puml
@@ -1,33 +1,33 @@
-@startuml
-scale 1200*1200
-mainframe Получение свободных остатков
-actor Пользователь as user
-participant ARM as ARM
-participant OMS as OMS
-collections Cache as cache
-participant Shcat as Shcat
-participant Susanin as Susanin
-autonumber
-
-user -> ARM: Нажимает на остатки товара\nв товарной строке заказа
-ARM -> OMS: API GET /quantity-list-by-office
-activate OMS
-OMS -> OMS: валидирует запрос
-
-OMS -> cache: Забрать все офисы из кэша
-activate cache
-return answer
-
-OMS -> Shcat: POST method rests.get
-activate Shcat
-return answer API POST
-
-OMS -> Susanin: POST method get_logistic_chains_with_priority
-activate Susanin
-return answer API POST
-
-OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады
-
-return answer API GET
-ARM --> user: Рендерит данные в модальном окне
+@startuml
+scale 1200*1200
+mainframe Получение свободных остатков
+actor Пользователь as user
+participant ARM as ARM
+participant OMS as OMS
+collections Cache as cache
+participant Shcat as Shcat
+participant Susanin as Susanin
+autonumber
+
+user -> ARM: Нажимает на остатки товара\nв товарной строке заказа
+ARM -> OMS: API GET /quantity-list-by-office
+activate OMS
+OMS -> OMS: валидирует запрос
+
+OMS -> cache: Забрать все офисы из кэша
+activate cache
+return answer
+
+OMS -> Shcat: POST method rests.get
+activate Shcat
+return answer API POST
+
+OMS -> Susanin: POST method get_logistic_chains_with_priority
+activate Susanin
+return answer API POST
+
+OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады
+
+return answer API GET
+ARM --> user: Рендерит данные в модальном окне
@enduml
\ No newline at end of file
diff --git a/oms/free-rest-and-reserve-journal/reserve-rest.puml b/oms/interface-arm/free-rest-and-reserve-journal/reserve-rest.puml
similarity index 97%
rename from oms/free-rest-and-reserve-journal/reserve-rest.puml
rename to oms/interface-arm/free-rest-and-reserve-journal/reserve-rest.puml
index 274a52b..d104df6 100644
--- a/oms/free-rest-and-reserve-journal/reserve-rest.puml
+++ b/oms/interface-arm/free-rest-and-reserve-journal/reserve-rest.puml
@@ -1,24 +1,24 @@
-@startuml
-scale 1200*1200
-mainframe Получение остатков под резервом
-actor Пользователь as user
-participant ARM as ARM
-participant OMS as OMS
-participant Susanin as Susanin
-autonumber
-
-user -> ARM: Нажимает на остатки товара\nв товарной строке заказа
-ARM -> OMS: API GET /quantity-list-by-office
-activate OMS
-OMS -> OMS: валидирует запрос
-
-OMS -> Susanin: POST method get_logistic_chains_with_priority
-activate Susanin
-return answer API POST
-
-OMS -> OMS: запрос в mongodb Order с фильтрами по товару
-OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады
-
-return answer API GET
-ARM --> user: Рендерит данные в модальном окне
+@startuml
+scale 1200*1200
+mainframe Получение остатков под резервом
+actor Пользователь as user
+participant ARM as ARM
+participant OMS as OMS
+participant Susanin as Susanin
+autonumber
+
+user -> ARM: Нажимает на остатки товара\nв товарной строке заказа
+ARM -> OMS: API GET /quantity-list-by-office
+activate OMS
+OMS -> OMS: валидирует запрос
+
+OMS -> Susanin: POST method get_logistic_chains_with_priority
+activate Susanin
+return answer API POST
+
+OMS -> OMS: запрос в mongodb Order с фильтрами по товару
+OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады
+
+return answer API GET
+ARM --> user: Рендерит данные в модальном окне
@enduml
\ No newline at end of file
diff --git a/oms/interface-arm/journals/order-journal/filters.puml b/oms/interface-arm/journals/order-journal/filters.puml
new file mode 100644
index 0000000..aaa7aac
--- /dev/null
+++ b/oms/interface-arm/journals/order-journal/filters.puml
@@ -0,0 +1,52 @@
+@startuml
+mainframe Получение заказов для отображения фильтров
+autonumber
+actor user
+participant ARM
+participant OMS
+collections Redis
+participant MSKB
+database Database
+
+user -> ARM: Устанавливает фильтры
+alt устанавливает фильтр по ПВЗ
+user -> ARM: Начинает вводить наименование ПВЗ
+ARM -> OMS: Запрашивает список подходящих ПВЗ
+OMS -> Redis: Запрашивает список ПВЗ
+Redis --> OMS: Возвращает список ПВЗ
+OMS --> ARM: Возвращает список ПВЗ
+user -> ARM: Выбирает необходимый ПВЗ
+ARM -> ARM: Запоминает идентификатор ПВЗ
+else устанавливает фильтр по менеджеру
+user -> ARM: Начинает вводить ФИО менеджера
+ARM -> OMS: Запрашивает список подходящих менеджеров
+OMS -> Redis: Запрашивает список менеджеров
+Redis --> OMS: Возвращает список менеджеров
+OMS --> ARM: Возвращает список менеджеров
+user -> ARM: Выбирает необходимого менеджера
+ARM -> ARM: Запоминает идентификатор менеджера
+else устанавливает фильтр по КА
+user -> ARM: Нажимает на фильтр по КА
+ARM --> user: Открывает модальное окно "Поиск КА"
+user -> ARM: Ищет необходимого КА
+ARM -> OMS: Запрашивает список подходящих КА
+OMS -> MSKB: Запрашивает список КА
+MSKB --> OMS: Возвращает список КА
+OMS --> ARM: Возвращает список КА
+user -> ARM: Выбирает необходимого КА
+ARM -> ARM: Запоминает идентификатор КА
+end
+
+alt Необходимы сортировки
+user -> ARM: Выбирает необходимую сортировку
+ARM -> ARM: Запоминает выбор пользователя
+else Не устанавливаются сортировки
+end
+user -> ARM: Нажимает кнопку Enter или "Обновить"
+ARM -> ARM: Формирует запрос на bf
+ARM -> OMS: Отправляет запрос
+OMS -> Database: Запрашивает список заказов\nс установленными фильтрами
+Database --> OMS: Ответ
+OMS --> ARM: Ответ
+ARM --> user: Отображает журнал заказов
+@enduml
\ No newline at end of file
diff --git a/oms/interface-arm/journals/order-journal/search.puml b/oms/interface-arm/journals/order-journal/search.puml
new file mode 100644
index 0000000..6fe782d
--- /dev/null
+++ b/oms/interface-arm/journals/order-journal/search.puml
@@ -0,0 +1,29 @@
+@startuml
+mainframe Получение заказов для отображения фильтров
+autonumber
+actor user
+participant ARM
+participant OMS
+database Database
+
+user -> ARM: Вводит один или несколько номеров заказов
+ARM -> ARM: Делит строку по пробелам
+alt Необходимы сортировки
+user -> ARM: Выбирает необходимую сортировку
+ARM -> ARM: Запоминает выбор пользователя
+else Не устанавливаются сортировки
+end
+user -> ARM: Нажимает кнопку Enter или "Обновить"
+ARM -> ARM: Формирует запрос
+ARM -> OMS: Отправляет запрос на bf
+OMS -> OMS: Проверяет есть ли объекты длиной 5 символов
+alt Если такие объекты есть
+OMS -> OMS: Формирует запрос с регулярным выражением,\nгде поиск осуществляется\nпо последним 5 символам строки
+else Если таких объектов нет
+OMS -> OMS: Формирует стандартный запрос в БД
+end
+OMS -> Database: Запрашивает список заказов по выбранным параметрам
+Database --> OMS: Ответ
+OMS --> ARM: Ответ
+ARM --> user: Отображает журнал заказов
+@enduml
\ No newline at end of file
diff --git a/oms/personal-cabinet/change note.puml b/oms/interface-arm/personal-cabinet/change note.puml
similarity index 97%
rename from oms/personal-cabinet/change note.puml
rename to oms/interface-arm/personal-cabinet/change note.puml
index 1ba5caf..23fb7d4 100644
--- a/oms/personal-cabinet/change note.puml
+++ b/oms/interface-arm/personal-cabinet/change note.puml
@@ -1,23 +1,23 @@
- @startuml
-mainframe Добавление/удаление заметки пользователя в ЛК
-scale 1500x1500
-actor user as user
-participant ARM
-participant Gateway
-participant personalCabinet
-
-autonumber
-user -> ARM: Нажимает кнопку "Главная"
-alt Пользователь ввел текст и снял фокус с поля
-ARM -> Gateway: Отправляет запрос на\nPUT personal-cabinet/v1/note
-else Пользователь нажал кнопку "Очистить"
-ARM -> Gateway: Отправляет запрос на\nDELETE personal-cabinet/v1/note
-end
-
-
-ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note
-Gateway -> personalCabinet: Вызывает методы для\nизменения заметок по пользователю
-personalCabinet --> Gateway: answer
-Gateway --> ARM: answer
-ARM --> user: answer
+ @startuml
+mainframe Добавление/удаление заметки пользователя в ЛК
+scale 1500x1500
+actor user as user
+participant ARM
+participant Gateway
+participant personalCabinet
+
+autonumber
+user -> ARM: Нажимает кнопку "Главная"
+alt Пользователь ввел текст и снял фокус с поля
+ARM -> Gateway: Отправляет запрос на\nPUT personal-cabinet/v1/note
+else Пользователь нажал кнопку "Очистить"
+ARM -> Gateway: Отправляет запрос на\nDELETE personal-cabinet/v1/note
+end
+
+
+ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note
+Gateway -> personalCabinet: Вызывает методы для\nизменения заметок по пользователю
+personalCabinet --> Gateway: answer
+Gateway --> ARM: answer
+ARM --> user: answer
@enduml
\ No newline at end of file
diff --git a/oms/personal-cabinet/favorites.puml b/oms/interface-arm/personal-cabinet/favorites.puml
similarity index 97%
rename from oms/personal-cabinet/favorites.puml
rename to oms/interface-arm/personal-cabinet/favorites.puml
index a307f74..c023c14 100644
--- a/oms/personal-cabinet/favorites.puml
+++ b/oms/interface-arm/personal-cabinet/favorites.puml
@@ -1,23 +1,23 @@
-@startuml
-mainframe Взаимодействие с избранным
-scale 1500x1500
-actor user as user
-participant ARM
-participant Gateway
-participant Order
-
-autonumber
-user -> ARM: Нажимает иконку\nсердечка в любом заказе
-
-alt Поле было предварительно выделено (активное состояние)
-ARM -> Gateway: Отправляет запрос на\nDELETE orders/v1/{orderID}/favorite
-else Поле было предварительно не выделено (не активное состояние)
-ARM -> Gateway: Отправляет запрос на\nPOST orders/v1/{orderID}/favorite
-end
-
-Gateway -> Order: Вызывает метод\nвзаимодействия с заказом
-Order -> Order: Обновляет модель order\n(Либо добавляет uuid юзера\nлибо удаляет)
-Order --> Gateway: answer
-Gateway --> ARM: answer
-ARM --> user: answer
+@startuml
+mainframe Взаимодействие с избранным
+scale 1500x1500
+actor user as user
+participant ARM
+participant Gateway
+participant Order
+
+autonumber
+user -> ARM: Нажимает иконку\nсердечка в любом заказе
+
+alt Поле было предварительно выделено (активное состояние)
+ARM -> Gateway: Отправляет запрос на\nDELETE orders/v1/{orderID}/favorite
+else Поле было предварительно не выделено (не активное состояние)
+ARM -> Gateway: Отправляет запрос на\nPOST orders/v1/{orderID}/favorite
+end
+
+Gateway -> Order: Вызывает метод\nвзаимодействия с заказом
+Order -> Order: Обновляет модель order\n(Либо добавляет uuid юзера\nлибо удаляет)
+Order --> Gateway: answer
+Gateway --> ARM: answer
+ARM --> user: answer
@enduml
\ No newline at end of file
diff --git a/oms/personal-cabinet/get-info-order.puml b/oms/interface-arm/personal-cabinet/get-info-order.puml
similarity index 97%
rename from oms/personal-cabinet/get-info-order.puml
rename to oms/interface-arm/personal-cabinet/get-info-order.puml
index 93ea10f..912326f 100644
--- a/oms/personal-cabinet/get-info-order.puml
+++ b/oms/interface-arm/personal-cabinet/get-info-order.puml
@@ -1,17 +1,17 @@
-@startuml
-mainframe Получение данных о заказах для ЛК пользователя
-scale 1500x1500
-actor user as user
-participant ARM
-participant Gateway
-participant Order
-
-autonumber
-user -> ARM: Нажимает кнопку "Главная"
-user -> ARM: Нажимает кнопку "Статистика по заказам"
-ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/stats
-Gateway -> Order: Вызывает методы для получения всех необходимых срезов по заказам
-Order --> Gateway: answer
-Gateway --> ARM: answer
-ARM --> user: Рендерит информационные блоки
+@startuml
+mainframe Получение данных о заказах для ЛК пользователя
+scale 1500x1500
+actor user as user
+participant ARM
+participant Gateway
+participant Order
+
+autonumber
+user -> ARM: Нажимает кнопку "Главная"
+user -> ARM: Нажимает кнопку "Статистика по заказам"
+ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/stats
+Gateway -> Order: Вызывает методы для получения всех необходимых срезов по заказам
+Order --> Gateway: answer
+Gateway --> ARM: answer
+ARM --> user: Рендерит информационные блоки
@enduml
\ No newline at end of file
diff --git a/oms/personal-cabinet/get-note.puml b/oms/interface-arm/personal-cabinet/get-note.puml
similarity index 97%
rename from oms/personal-cabinet/get-note.puml
rename to oms/interface-arm/personal-cabinet/get-note.puml
index 48297a8..a2ac929 100644
--- a/oms/personal-cabinet/get-note.puml
+++ b/oms/interface-arm/personal-cabinet/get-note.puml
@@ -1,16 +1,16 @@
- @startuml
-mainframe Получение заметки пользователя для ЛК
-scale 1500x1500
-actor user as user
-participant ARM
-participant Gateway
-participant personalCabinet
-
-autonumber
-user -> ARM: Нажимает кнопку "Главная"
-ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note
-Gateway -> personalCabinet: Вызывает методы для получения заметок по пользователю
-personalCabinet --> Gateway: answer
-Gateway --> ARM: answer
-ARM --> user: Рендерит текст в блоке заметок
+ @startuml
+mainframe Получение заметки пользователя для ЛК
+scale 1500x1500
+actor user as user
+participant ARM
+participant Gateway
+participant personalCabinet
+
+autonumber
+user -> ARM: Нажимает кнопку "Главная"
+ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note
+Gateway -> personalCabinet: Вызывает методы для получения заметок по пользователю
+personalCabinet --> Gateway: answer
+Gateway --> ARM: answer
+ARM --> user: Рендерит текст в блоке заметок
@enduml
\ No newline at end of file
diff --git a/personal-cabinet.puml b/oms/interface-arm/personal-cabinet/personal-cabinet.puml
similarity index 100%
rename from personal-cabinet.puml
rename to oms/interface-arm/personal-cabinet/personal-cabinet.puml
diff --git a/oms/interface-arm/products/add-promotion.puml b/oms/interface-arm/products/add-promotion.puml
new file mode 100644
index 0000000..34a5299
--- /dev/null
+++ b/oms/interface-arm/products/add-promotion.puml
@@ -0,0 +1,58 @@
+@startuml
+mainframe TO BE применение акций и скидок в заказе B2C
+scale 1500x1500
+actor user as user
+participant ARM
+participant Sherlock
+participant Gateway
+participant Order
+participant PDM
+participant Druz
+participant SCROOGE
+participant Promo
+
+autonumber
+user -> ARM: Нажимает кнопку "Применить скидки"
+ARM -> ARM: Рендерит модальное окно
+ARM -> ARM: Акции сайта - чекбокс активен
+ARM -> ARM: Скидки, выбрано: Без скидки
+autonumber 5.1
+alt Выбирает только скидки уровня ОПТ
+ user -> ARM: Выбирает тип ОПТа для клиента
+ user -> ARM: Снимает чекбокс "Акции сайта"
+ user -> ARM: Нажимает кнопку "Применить"
+ ARM -> Gateway: Передает запрос
+ Gateway -> Gateway: Получает название региона из кэша
+ Gateway -> SCROOGE: Запрашивает цены из SCROOGE согласно уровню ОПТа
+ SCROOGE --> Gateway: answer
+autonumber 6.1
+else Выбирает только акции сайта
+ user -> ARM: Оставляет чекбокс "Акции сайта"
+ user -> ARM: Оставляет скидку с типом "Без скидки"
+ user -> ARM: Нажимает кнопку "Применить"
+ ARM -> Gateway: Передает запрос
+ Gateway -> Gateway: Получает название региона из кэша
+ Gateway -> Gateway: Готовит запрос в promo
+ Gateway -> Promo: Запрашивает акции и цены по товарам из Promo
+ Promo --> Gateway: answer
+autonumber 7.1
+else Выбирает акции и скидки ОПТ
+ user -> ARM: Выбирает тип ОПТа для клиента
+ user -> ARM: Оставляет чекбокс "Акции сайта"
+ user -> ARM: Нажимает кнопку "Применить"
+ ARM -> Gateway: Передает запрос
+ Gateway -> Gateway: Получает название региона из кэша
+ Gateway -> Gateway: Готовит запрос в promo
+ Gateway -> Promo: Запрашивает акции и цены по товарам из Promo
+ Promo --> Gateway: answer
+ Gateway -> SCROOGE: Запрашивает цены из SCROOGE согласно уровню ОПТа
+ SCROOGE --> Gateway: answer
+ Gateway -> Gateway: Применяет наименьшие цены\nк каждому из товаров
+end
+autonumber 8
+Gateway -> Order: Записывает изменения в модель
+Order --> Gateway: Изменения успешно применены
+Gateway -> Gateway: Собирает ответ для frontend
+Gateway --> ARM: Answer
+ARM -> user: Отображает примененные акции
+@enduml
\ No newline at end of file
diff --git a/oms/order mongoDB.puml b/oms/order mongoDB.puml
new file mode 100644
index 0000000..ed15c4b
--- /dev/null
+++ b/oms/order mongoDB.puml
@@ -0,0 +1,251 @@
+@startjson
+
+
+
+' Здесь указываем какие атрибуты нужно подсвечивать в схеме
+#highlight "order" / "Recipient" / "ID" <>
+#highlight "order" / "Recipient" / "RecipientAddress" <>
+#highlight "order" / "Recipient" / "RecipientPhone" <>
+#highlight "order" / "Recipient" / "RecipientName" <>
+
+{
+ "order": {
+ "orderID": "uuid || Номер заказа",
+ "managerInfo": {
+ "CreatedBy": "uuid || Идентификатор автора заказа из AD",
+ "CreatedFullName": "string || ФИО автора заказа",
+ "UpdatedBy": "uuid || Идентификатор последнего обновлявшего заказ",
+ "UpdatedFullName": "string || ФИО последнего обновлявшего заказ",
+ "ManagerGroup": "int || Идентификатор группы менеджера",
+ "ManagerPhoneNumber": "string || Номер телефона менеджера",
+ "ManagerExtensionNumber": "string || Добавочный номер телефона менеджера"
+ },
+ "RootOrder": "uuid || UUID корневого заказа",
+ "Number": "string || Номер заказа в формате ****-******-*****",
+ "OrderStatus": "int || Идентификатор статуса заказа (от 0 до 7)",
+ "Contractor": {
+ "Type": "int || Тип контрагента.",
+ "B2CContractor": {
+ "Person": {
+ "ID": "uuid || Идентификатор (UUID) контрагента",
+ "FullName": "string || Полное ФИО КА",
+ "Phone": "string || Номер телефона КА",
+ "Email": "string || Email адрес КА"
+ }
+ },
+ "B2BContractor": {
+ "ID": "uuid || Идентификатор (UUID) контрагента",
+ "Name": "string || Полное наименование КА",
+ "TIN": "string || Номер ИНН",
+ "ContactPersons (array)": {
+ "Person": {
+ "ID": "uuid || Идентификатор (UUID) контрагента",
+ "FullName": "string || Полное ФИО КА",
+ "Phone": "string || Номер телефона КА",
+ "Email": "string || Email адрес КА"
+ },
+ "SmsPhoneNumber": "string || Номер телефона для СМС"
+ },
+ "CurrentContactPersonID": "uuid || ID выбранного КЛ для заказа",
+ "Curator": {
+ "ID": "uuid || Идентификатор куратора",
+ "FullName": "string || ФИО куратора"
+ },
+ "Contract": {
+ "ID": "uuid || Идентификатор договора",
+ "Number": "string || Номер договора",
+ "Kind": "int || Тип договора"
+ },
+ "BaseDocumentSettings": {
+ "GovernmentContractID": "string || Идентификатор государственного контракта",
+ "InvoiceTransferBasis": "string || Основание передачи в счете на оплату",
+ "ShippingDocuments": {
+ "TransferBasisDocument": "string || документ-основание передачи(сдачи)/получения(приемки)",
+ "TransferBasisAdditionalDetails": "string || Дополнительные сведения основания передачи",
+ "OtherInformation": "string || Иные сведения"
+ }
+ }
+ }
+ },
+ "Recipient": {
+ "ID": "uuid || Идентификатор (UUID) грузополучателя",
+ "RecipientName": "string || Имя грузополучателя заказа",
+ "RecipientPhone": "string || Номер телефона грузополучателя",
+ "RecipientAddress": "string || Адрес грузополучателя"
+ },
+ "Properties": {
+ "BasicTimestamps": {
+ "CreatedAt": "date-time || Дата и время создания заказа",
+ "UpdatedAt": "date-time || Дата и время последнего обновления заказа"
+ },
+ "OriginID": "int || Идентификатор источника заказа",
+ "SiteOrderDate": "date-time || Дата и время заказа выбранное на сайте",
+ "OrderComment": "string || Комментарий к заказу. Во wtis: primSklad",
+ "TtnNumber": "string || Номер ТТН",
+ "TtnDate": "string || Дата ТТН",
+ "IsPartialShipmentFromSite": "bool || Признак ЧО с сайта",
+ "PaymentAmount": "float || Сумма внесенной оплаты",
+ "BookingEndDates": "array || Массив с датами истечения бронирования заказа",
+ "IsPrepaymentRequired": "bool || Признак Необходима предоплата",
+ "RegionGUID": "uuid || Идентификатор (UUID) региона",
+ "RegionName": "string || Наименование региона",
+ "TypeOrderFromSite": "string || Тип заказа с сайта. normal / fast",
+ "Firma": "GUID фирмы отгружающей товар."
+ },
+ "Artifacts": {
+ "PartialShipment": "bool || Признак Частичная отгрузка",
+ "OrderMasterSystem": "string || Признак мастер-система по заказу",
+ "KkmDate": "string || Дата ККМ",
+ "KkmAmount": "float || Сумма оплаты через ККМ",
+ "PaymentKkm": "bool || Признак оплата через ККМ",
+ "PaymentCb": "bool || Признак оплата по счету",
+ "PaymentCard": "bool || Признак картой",
+ "IsEwalletPayment": "bool || Признак оплата с сайта",
+ "OrderStateWtis": "int || Состояние заказа из WTIS",
+ "AttbOplata": "int || Статус оплаты (0 - Не оплачено, 1 - Частичная оплата, 2 - Оплачено). || deprecated",
+ "OrderStatusWtis": "int || Статус заказа из WTIS",
+ "IsPromoEnabled": "bool || Признак, что сайт взаимодействует с МС Promo и берет распродажную инфу оттуда.",
+ "IsYandexEnabled": "bool || Признак, что адрес передается в новом формате для курьерки."
+ },
+ "Supplies (array)": {
+ "ID": "uuid || Идентификатор поставки",
+ "ShipmentID": "uuid || Идентификатор шипмента",
+ "ProductID": "uuid || Идентификатор номенклатуры",
+ "SourceOffice": "uuid || Идентификатор склада на котором находится товар",
+ "ReserveTo": "date-time || Дата резерв до",
+ "PurchaseIDs": "array || Массив идентификаторов закупки",
+ "UnreserveDate": "date-time || Дата фактического снятия с резерва товара",
+ "Quantity": "int || Количество товара в доставке. Суммарное количество должно быть равно quantity в items",
+ "StatusItem": "int || Идентификатор статуса товара",
+ "Artifacts": {
+ "StatusItemWtis": "int || Клиентский статус товара из WTIS",
+ "Attb": "Состоние товара из WTIS",
+ "FlagReturn": "bool || Признак Возврат товара. 1 - товар с вкладки Возвраты, 0 - для товаров с вкладки Товары.",
+ "FlagReturnedToSklad": "bool || Принят на склад",
+ "AppendUser": "uuid || ID пользователя кто добавил поставку",
+ "ChangeUser": "uuid || ID пользователя кто последний изменил поставку"
+ },
+ "DateCanDeliver": "date-time || Дата 'Сможем доставить'.",
+ "CreatedAt": "date-time || Дата создания поставки",
+ "UpdatedAt": "date-time || Дата последнего обновления поставки",
+ "Prices": {
+ "DiscountPrice": "float || Сумма скидки",
+ "DiscountCategory": "string || Категория скидки",
+ "DiscountReason": "string || Причина скидки",
+ "InitialPrice": "float || Начальная цена",
+ "PurchasePrice": "float || Цена закупки",
+ "Price": "float || Цена товара",
+ "Discount": "float || Процент скидки",
+ "ClearanceSaleID": "uuid || Идентификатор распродажи",
+ "IsPromoCodeUsed": "bool || Флаг использования промокода",
+ "PromotionID": "int || Идентификатор акции из МС Promo",
+ "ExtraCost": "float || Цена доставки на единицу товара"
+ },
+ "IsRestored": "bool || Признак восстановления поставки.",
+ "DeliveryDate": "date-time || Дата доставки"
+ },
+ "Shipment": {
+ "Meta": {
+ "ID": "uuid || Идентификатор shipment",
+ "OrderID": "uuid || Идентификатор заказа",
+ "MethodID": "int || Идентификатор шипмента",
+ "Status": "int || Статус доставки",
+ "DeliveryDate": "date-time || Дата доставки",
+ "Services": {
+ "Settings": {
+ "SpreadExtraCost": "bool || Размазать стоимость доставки по товарам связанным с доставкой"
+ }
+ },
+ "CreatedAt": "date-time || Дата создания доставки",
+ "UpdatedAt": "date-time || Дата последнего обновления доставки"
+ },
+ "ShipmentPickup": {
+ "OfficeGUID": "uuid || Идентификатор офиса"
+ },
+ "ShipmentCourier": {
+ "FactDeliveryBoy": "uuid || Идентификатор курьера который отдал заказ",
+ "FreeReason": "int || Причина бесплатной доставки",
+ "FiasID": "uuid || FIAS идентификатор адреса доставки",
+ "IntervalGUID": "uuid || Идентификатор интервала курьерской доставки",
+ "DeliveryAregGUID": "uuid || Идентификатор AREG адреса доставки",
+ "AddressTail": {
+ "AddressTailID": "uuid || Идентификатор хвоста адреса",
+ "Flat": "int || Номер квартиры",
+ "Entrance": "int || Подъезд",
+ "Floor": "int || Этаж",
+ "AddressComment": "string || Комментарий к адресу",
+ "ContactNumber": "string || Контактный номер в адресе доставки"
+ },
+ "IntervalValue": "string || Значение интервала доставки",
+ "Latitude": "string || Широта адреса доставки",
+ "Longitude": "string || Долгота адреса доставки",
+ "CourierGUID": "uuid || Идентификатор курьера в заказе",
+ "DeliveryBoyName": "string || ФИО курьера в заказе",
+ "AddrDostav": "string || Адрес доставки",
+ "CourierDeliveryCost": "int || Стоимость доставки",
+ "CourierComment": "string || Комментарий для курьера"
+ },
+ "ShipmentTKPickup": {
+ "TransportCompanyID": "uuid || Идентификатор транспортной компании",
+ "TransportCompanyCityID": "uuid || Идентификатор города ТК",
+ "TransportCompanyCityName": "string || Название города ТК",
+ "TransportCompanyExternalCode": "string || Внешний код офиса ТК в системе CDEK",
+ "TransportCompanyTariffID": "uuid || Идентификатор тарифа ТК",
+ "TransportCompanyTariffName": "string || Наименование тарифа",
+ "CourierDeliveryCost": "int || Стоимость доставки",
+ "CourierComment": "string || Комментарий для курьера"
+ },
+ "shipmentTKCourier": {
+ "TransportCompanyID": "uuid || Идентификатор транспортной компании",
+ "TransportCompanyCityID": "uuid || Идентификатор города ТК",
+ "TransportCompanyCityName": "string || Название города ТК",
+ "TransportCompanyExternalCode": "string || Внешний код офиса ТК в системе CDEK",
+ "TransportCompanyTariffID": "uuid || Идентификатор тарифа ТК",
+ "TransportCompanyTariffName": "string || Наименование тарифа",
+ "IntervalValue": "string || Значение интервала доставки",
+ "Latitude": "string || Широта адреса доставки",
+ "Longitude": "string || Долгота адреса доставки",
+ "AddrDostav": "string || Адрес доставки",
+ "FiasID": "uuid || FIAS идентификатор адреса доставки",
+ "IntervalGUID": "uuid || Идентификатор интервала курьерской доставки",
+ "DeliveryAregGUID": "uuid || Идентификатор AREG адреса доставки",
+ "AddressTail": {
+ "AddressTailID": "uuid || Идентификатор хвоста адреса",
+ "Flat": "int || Номер квартиры",
+ "Entrance": "int || Подъезд",
+ "Floor": "int || Этаж",
+ "AddressComment": "string || Комментарий к адресу",
+ "ContactNumber": "string || Контактный номер в адресе доставки"
+ },
+ "CourierDeliveryCost": "int || Стоимость доставки",
+ "DeliveryWay": "int || Тип доставки, через транспортную компанию",
+ "CourierComment": "string || Комментарий для курьера"
+ }
+ }
+ }
+}
+@endjson
\ No newline at end of file
diff --git a/ordering.puml b/oms/process/ordering.puml
similarity index 100%
rename from ordering.puml
rename to oms/process/ordering.puml
diff --git a/shipment.puml b/shipment.puml
deleted file mode 100644
index b2edf9b..0000000
--- a/shipment.puml
+++ /dev/null
@@ -1,32 +0,0 @@
-@startjson
-{
- "ShipmentDoc":{
- "ShipmentMeta":{
- "id":"uuid || Идентификатор доставки",
- "OrderID":"uuid || Идентификатор заказа",
- "MethodId":"int(enum) || Способы доставки",
- "DeliveryDate":"datetime || Дата доставки",
- "Services":{
- "Settings":{
- "SpreadExtraCost":"bool || Размазать стоимость доставки по товарам связанным с доставкой"
- }
- },
- "CreatedAt":"datetime || Дата создания доставки",
- "UpdatedAt":"datetime || Дата обновления доставки",
- "Artifact": {
- "DeliveryWith":"string || Начальный временной промежуток курьерской доставки",
- "TrackingNumberId":"int || Удалить, бесполезное поле",
- "PartnerDeliverTo":"string || ??? ",
- "DestinationOfficeID":"int || Идентификатор офиса, откуда везем товар",
- "DeliveryOn":"string || Верхняя граница часов доставки ",
- "DeliveryType":"bool || - обычная доставка 1 - доставка строительных материалов",
- "DeliveryZone":"int || id зоны доставки строительных материалов из таблицы wtis_ref_town_zone ",
- "VeerouteExportDate":"datetime || Дата выгрузки в Veeroute ",
- "AddressID":"int || Идентификатор адреса доставки (внутренний от WTIS) "
- }
- },
- "": {
- }
- }
- }
-@endjson
\ No newline at end of file