Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Мета створення та нормативні засади

Відповідно до:

розробити функціонал Інформаційних повідомлень.

В рамках Prozorro.Sale буде реалізовано сутність improvements_announcement (JIS). Технічна назва improvementsAnnouncementSmallPrivatization

Особливості Інформаційних Повідомлень приватизації обʼєкта оренди з невідʼємними поліпшеннями

...

  • При створенні Інформаційного Повідомлення має відбуватись перевірка, чи не задіяний пов'язаний Asset у інших сутностях Інформаційних Повідомлень, Пріоритетного Викупу, які перебувають на момент створення у активному стані, відповідно asset.status = pending;
  • При створенні Інформаційного Повідомлення має відбуватись перевірка:
    • якщо обраний для створення ІП Asset має assetItems.assetItemType== ‘asset’, то чи додані у Asset.documents.documentType == 'Illustration'. Створити Asset є можливість без документів illustration, але створити ІП із Asset, який не має таких документів - не має бути можливості.
  • При створенні Інформаційного Повідомлення в ньому зберігається посилання на Об’єкт реєстру (announcement.relatedEntities.type == asset), в Об’єкт реєстру передається посилання на Інформаційне Повідомлення;
  • Зміни полів та документів Об'єкта реєстру, зберігаються як окремі версії Об’єкта;
  • Інформаційне Повідомлення має поле announcement.relatedEntities.archiveId - це версія Об’єкта реєстру, яка була останньою на момент створення Інформаційного Повідомлення.
  • Гарантійний внесок та Гарантійний внесок чинного орендаря перераховується автоматично відповідно до правил, якщо будь-які 2 попередні Процедури не відбулись з причини дискваліфікації учасників.
  • Поле saleCondition автоматично генерується зі значенням "Так" без можливості редагування
  • Поле Наявність переважного права у чинного орендаря автоматично генерується зі значенням "Так" без можливості редагування (Поле обовʼязкове для ІП але не буде передаватись в Процедури)
  • 2-,6-в Процедури можуть бути не створені в ЦБД (2-,6-а Процедура в spec в такому випадку набувають статусу unpublished)
  • Обов'язкові поля для заповнення при Публікації Announcement:
    • всі чотири initialProps.bankAccounts.accountType: guarantee, registrationFee, payment та improvementCompensation.
    • Інформація про орендаря (учасника з ппinitialProps.currentTenants)
    • Інформація про орендодавця (заповнене на етапі публікації Asset поле "assetCustodian - Інформація про розпорядника" автоматично копіюється із Asset в ІП)
    • Інформація про договір оренди (initialProps.currentTenants.contract.*)
      1. дата укладання
      2. дата завершення
      3. строк дії
      4. місячна оренда плата
      5. площа що орендується
    • Інформація про невідʼємні поліпшення (initialProps.currentTenants.essentialImprovements.*)
      1. вартість невідʼємних поліпшень
      2. дата завершення невідʼємних поліпшень
      3. умови компенсації
      4. рішення про згоду на невідʼємні поліпшення
      5. наказ про затвердження висновку про вартість об’єкта приватизації
    • Додаткові документи інформаційного повідомлення приватизації об’єкта оренди з невід’ємними поліпшеннями
      1. висновок будівельної експертизи

 Створення та робота із Процедурою

...

  • При авто-створенні Першої процедури (tenderAttempts = 1) поля і документи копіюються із asset та announcement (детально описано в ТЗ Процедур в розділі "Струкрута даних")
  • При авто-створенні Другої і наступних процедур (tenderAttempts >1) поля мають заповнюватись згідно логіки, яка описана в ТЗ процедури (якщо поле\модель з полями можуть редагуватися в процедурі, то при авто-публікації наступної процедури, в межах одного ланцюжка, значення полів потірбно взяти із попередньої процедури, а не із asset\announcement) (детально описано в ТЗ Процедур в розділі "Струкрута даних")
  • В Інформаційному Повідомленні зберігаються ідентифікатори Процедур, які оголошені в рамках "ланцюжка" (producedEntities.type == procedure);
  • Ланцюжок Процедур складається з послідовності аукціонів:
    • англійський аукціон з переважним правом
    • англійський аукціон з переважним правом (якщо перший аукціон не відбувся з причини дискваліфікації учасників без переважного права) або перехід на наступний етап
    • англійський аукціон
    • англійський аукціон де стартова вартість знижена на 50% від початкової ціни зазначеної в ІП
    • голландський аукціон де стартова вартість знижена на 50% від початкової ціни зазначеної в ІП
    • голландський аукціон де стартова вартість знижена на 50% від початкової ціни зазначеної в ІП (за умови якщо попередній аукціон не відбувся з причини дискваліфікації учасників) 

...

Логіка роботи з Класифікаторами описана у ТЗ по Об’єктам реєстру МП: Посилання на ТЗ по Об'єкта реєстру МП

Періоди і статуси

...

Конфігураційний файл з періодами и статусами - Треба створити новий для даного ІП

Конфігураційний файл з періодами и статусами - Треба створити новий для даного ІП

Загальна схема процесу публікації Інформаційного Повідомлення

Схема “Загальний процес продажу об'єктів малої приватизації”

Порядок малої приватизації

Функціонал ролей в рамках періодів

Timeline

Схема “Timeline Інформаційного Повідомлення”

Статуси Інформаційного Повідомлення

...

  • Перша Процедура створюється автоматично по завершенню announcement.rectificationPeriod (Як тільки наступає announcement.rectificationPeriod.endDate)

  • Друга (можлива), Третя, Четверта, Пʼята та можлива Шоста Процедура автоматично створюється одразу, якщо попередня Процедура набула статусу unsuccessful.

  • Особливості:
    • 2-а Процедура створюється тільки у випадку коли 1-а Процедура аукціону перейшла в статус unsuccessful:
      • Якщо на етапі кваліфікації award-ів відбулася дискваліфікація переможців (1й та 2й учасник в разі наявності мають статус unsuccessful) та серед дискваліфікованих жоден з учасників не був учасник з переважним правом
    • 2-а Процедура не створюється і одразу створюється 3-я Процедура в ЦБД у випадку коли 1-а Процедура аукціону перейшла в статус unsuccessful:
      • Якщо на етапі кваліфікації award-ів відбулася дискваліфікація переможців (1й та 2й учасник в разі наявності мають статус unsuccessful), та серед дискваліфікованих учасників з будь-якої причини був учасник з переважним правом 
      • Якщо учасник під час admissionPeriod перейшов в статус cancelled.
      • Якщо в 1-й Процедурі не було жодного учасника.
    • 6-а Процедура створюється тільки у випадку, коли 5-а Процедура перейшла в unsuccessful внаслідок дискваліфікації учасників з будь-якої причини. Якщо на етапі кваліфікації award-ів відбулася дискваліфікація переможців (1й та 2й учасник в разі наявності мають статус unsuccessful) то такий аукціон вважається зірваним і це є причиною створення шостої Процедури. Тобто, логіка наступна: якщо Процедура-5 має статус unsuccessful і у неї 1 або 2 awardи у статусі unsuccessful, то має створитись Процедура-6, в іншому випадку Процедура-6 не створюється.
  • Якщо статус Процедури змінено на cancelled, то наступна Процедура не створюється, а Інформаційне Повідомлення автоматично набуває статусу dissolved.

  • За замовчуванням кількість аукціонів - 4. Мінімальна кількість -1 (якщо Перша процедура успішна), Можливий 2й та 6й аукціон за умови, що Перший та Пʼятий відповідно завершився з причини дискваліфікації Учасників.

  • В залежності від значення tenderAttempts, відображати назву аукціону:

    • 1 - "Аукціон з умовами та переважним правом "
    • 2 - "Повторний аукціон з умовами та переважним правом" 
    • 3 - "Аукціон з умовами"
    • 4 - "Аукціон із зниженням стартової ціни"
    • 5 - "Аукціон за методом покрокового зниження стартової ціни та подальшого подання цінових пропозицій"
    • 6 - "Повторний аукціон за методом покрокового зниження стартової ціни та подальшого подання цінових пропозицій"


Note
titleВажливо

Значення tenderAttempts не змінюється від кількості оголошених Процедур. Тобто, якщо умови склалися таким чином, що Друга процедура не публікувалася, то Третя процедура (яка насправді буде другою через skip) має отримати tenderAttempts == 3

Особливості часових параметрів

...

  • Період на подачу пропозицій (робочих днів) (extraSpecs[].periods.periodName: tenderPeriod duration)
    • Особливості:
      • Визначається Організатором;
      • Значення загальне для 2-*, 3-, 4-, 5-, 6-ї* Процедури із ланцюжка;
      • Період на подачу пропозицій - це tenderPeriod, який буде мати 2-*,3-,4-,5-, 6-ї*та Процедура.
      • ЦБД валідує тільки нижнє значення tenderPeriodDuration >= 3 р.д.;
      • ЦБД не валідує верхнє значення tenderPeriodDuration.
      • Якщо Дата початку Модулю Аукціону припадає на вихідний або святковий день, то Аукціон буде перенесений вперед на найближчий робочий день.
    • Технічна особливість: На інтерфейсі Майданчика при створенні ІП має бути одне поле, в якому Організатор може вказати тривалість "Періоду прийняття пропозицій". Організатор вказує кількість в днях один раз на інтерфейсі.
    • Але коли Майданчик передає запит на ЦБД, то має це значення закопіювати і передати в трьох місцях: extraSpecs[1].periods.periodName: tenderPeriod duration, extraSpecs[2].periods.periodName: tenderPeriod duration, extraSpecs[3].periods.periodName: tenderPeriod duration, extraSpecs[4].periods.periodName: tenderPeriod duration, extraSpecs[5].periods.periodName: tenderPeriod duration

...

systemNamex-legalNameUax-legalNameEnTypereadOnlyОбовʼязковістьКоментар
_idВнутрішній ідентифікаторIDstringtrue+
owner Ідентифікатор майданчикаOwner IDstringtrue+
ownerToken

stringtrue+Токен майданчика, через який створено об'єкт
objectId ІдентифікаторObject IDstringtrue+Example: JIS001-UA-20200220-12345
previousObjectIdІдентифікатор попереднього Інформаційного повідомленняPrevious Announcement Idstringtrue-

автоматично підтягується з останнього Інформаційного повідомлення з однаковим asset

minLength: 1
example: JIS000-UA-YYYYMMDD-00000

titleНайменуванняAnnouncement titlebase.MultiLangfalse+

Автоматично заповнюється з related asset.title, але може редагуватися.

minLength: 1

descriptionОписAnnouncement descriptionbase.MultiLangfalse+

Автоматично заповнюється з related asset.description, але може редагуватися

minLength: 1

_specs


true
опис спеціфікацих за яких створюються похідні сутності
activeScenario

stringtrue

pipelineMethod

stringfalse
Enum: [improvements_announcement, improvements_announcement-fast, improvements_announcement-manual, improvements_announcement-ultrafast, improvements_announcement-fast-prod, improvements_announcement-fast-prod-fast-first]
statusСтатус інформаційного повідомленняAnnouncement statusstringtrue
Enum: [pending, active_auction, active_contracting, sold, dissolved, deleted]
datePublishedДата публікаціїPublished datestring($date-time)true

dateModifiedДата останнього редагуванняDate modifiedstring($date-time)true

platformLegalDetailsПерелік та реквізити авторизованих електронних майданчиківPlatform legal detailsstringtrue
default: https://prozorro.sale/info/elektronni-majdanchiki-ets-prozorroprodazhi-cbd2
documents
















AnnouncementDocumentДокументи Інформаційного ПовідомленняAnnouncement Documentslist-objectfalse
Містить дані щодо структури документу
idІдентифікатор документуDocument IDstringtrue

titleНазва документуDocument titlebase.MultiLangfalse

descriptionОпис документуDocument descriptionbase.MultiLangfalse

urlПосилання на документDocument linkstringtrue
example: http://string.com
relatedDocumentПов'язаний документRelated documentstring

Ідентифікатор, що відображається тільки в документі digitalSignature та використовується
для відображення зв'язку між цифровим підписом та документом

example: 5e300ec4080b60d45dc28bb8

documentOfОб'єкт документуDocument objectstringfalse

default: improvements_announcement

Enum: [improvements_announcement]

documentTypeТип документуDocument typestringfalse

Enum: [ notice, evaluationCriteria, contractProforma, clarifications, сonstructionExpertise, digitalSignature ]

datePublishedДата публікації документуDocument publishing datestring($date-time)true

x-default: now

dateModifiedОстання дата редагування документуDocument modified datestring($date-time)true

x-default: now

indexПараметр сортування ілюстраційDocument indexinteger($int64)false

Чим менше значення поля, тим вище документ буде при відображенні на майданчиках.
Основним документом вважається документ з мінімальним значенням індексу.
Якщо параметр не зазначений, документи будуть виводитись останніми у переліку.
Якщо кілька документів мають однакове значення параметру, порядок сортування буде залежати від dateModified,
Пріоритет у документів доданих раніше.

formatФормат документуDocument formatstringtrue


languageМова документуDocument languagestringfalse


hashХеш документуDocument hashstringtrue


token

stringtrue


_ds_id

stringtrue

Ідентифікатор документа в document service

_ds_scope

stringtrue

Тип документа за доступом [public/private]

initialProps









ІnitialPropertiesПараметри для опису умов продажуDescribes extra properties used to build produced object



valueСтартова цінаStart pricebase.ValueWithTaxfalse+


guaranteeГарантійний внесокGuaranteebase.Valuefalse+


currentTenantGuaranteeFeeГарантійний внесок чинного орендаряGuarantee fee for current tenantbase.Valuefalse+

default: guarantee але Організатор може змінити значення

currentTenantsДані про учасника з переважним правомData about participant with priority rightbase.OrganizationWithoutContactsfalse+

x-format: list-object
minItems: 1
maxItems: 1

registrationFeeРеєстраційний внесокRegistration feebase.Valuefalse+


minimalStepРозмір кроку аукціонуMinimal stepbase.Valuefalse+


minNumberOfQualifiedBidsМінімальна кількість заявMinimal number of bidsinteger($int64)false+

default: 1

numberOfCurrentTenantsКількість учасників з переважним правомNumber of participants with priority rightinteger($int32)true+

default: 1

Поле обовʼязкове для ІП але не буде передаватись в Процедури

bankAccountsБанківські рахунки організатораBank accountsbase.BankAccountsByTypefalse+

Посилання на словник https://procedure-sandbox.prozorro.sale/api/dictionaries/accountType

Enum:
[guarantee, registrationFee, payment та improvementCompensation]

accessDetailsПорядок ознайомлення з майном, час і місце проведення огляду об’єктаAuction access detailsbase.MultiLangfalse+


valueAddedTaxChargedНа фінальну суму нараховується ПДВValue added tax chargedbooleanfalse+

default: true

dutchStepКрок голландського раундуDutch stepsbase.DutchStepfalse+

Поля dutchStepPercent та dutchStepValue автогенеруються на рівні ЦБД, без можливості внесення змін Організатором
Для поля dutchStepQuantity ЦБД формує дефолтне, Організатор має можливість змінити дефолтне значення.

default: 99

priorityRightНаявність переважного права у чинного орендаряThe current tenant has a priority right booleanfalse+

default: true

Enum:[true]

Поле обовʼязкове для ІП але не буде передаватись в Процедури

saleConditionНаявність умов продажуSale conditionsstringfalse+

default: yes

Enum:[yes]

relatedEntities

base.RelatedEntity
+

minItems: 1
maxItems: 1

список пов'язаних сутностей, які необхідні для створення сутностей producedEntities

decisions




AnnouncementDecision

 false+

Рішення про затвердження умов продажу

decisionTitleНайменування рішенняDecision titlestringfalse

+

minLength: 1

decisionNumberНомер рішенняDecision numberstringfalse+

minLength: 1

decisionDateДата рішенняDecision datestring($date-time)false+


decisionOfТип рішенняDecision ofstringfalse+

default: improvements_announcement

Enum:[ improvements_announcement ]

presentationUrlПрезентація обʼєктаPresentation of the objectstringfalse-

URL-посилання на файл

presentationUrlENАнгломовна презентація об’єктаEnglish presentation of the objectstringfalse-

URL-посилання на файл

producedEntities

base.ProducedEntitytrue

default: List []

список створених сутностей

extraSpecs


ExtraSpec

 true+

default: List []

поле необхідне для уточнення базових значень спеціфікацій

periodsУточнення до періодівBase periods specs overwrite configbase.PeriodSpecfalse


dutchStepКрок голландського раундуDutch stepsbase.DutchStepfalseДля внесення додаткових параметрів організатором

Організатор може передати кількість кроків для extraSpecs[4] та extraSpecs[5]

Якщо не передав, то буде застосовано default значення = 99

cancellations

base.Cancellationfalse

x-format: list-object
default: List []

periodsrectificationPeriodПеріод редагування лотаRectification Periodbase.Periodtrue

Опис всіх періодів об'єкта

timer

string($date-time)true

x-format: timer
x-serialize_when_none: false

час до наступної події

archiveId

stringtrue

x-format: object-id
x-serialize_when_none: false

proceduresInfo

multidicttrue

autogenerated field with information about all related procedures

 additionalInformation Додаткова інформаціяAdditional information list-object true

 default: List []

_meta

base.MetaDat


_version

integer($int64)true


_protected

booleantrue

default: false

...

  • improvements_announcement - rectificationPeriod: 2days, процедура smallPrivatization-english
  • improvements_announcement-fast - rectificationPeriod: 2mins, процедура smallPrivatization-english-fast
  • improvements_announcement-manual - rectificationPeriod: 10mins, процедура smallPrivatization-english-manual
  • improvements_announcement-ultrafast - rectificationPeriod: 5secs, процедура smallPrivatization-english-fast

Майданчикам

Загальна схема процесу публікації Інформаційного Повідомлення

Схема “Загальний процес продажу об'єктів малої приватизації”

Порядок малої приватизації

Функціонал ролей в рамках періодів

Timeline

Схема “Timeline Інформаційного Повідомлення”

Повідомлення

Повідомлення щодо публікації інформаційного повідомлення

...