{
  "standard": "FSP",
  "module": "quote",
  "version": "1.0",
  "registry": "rules",
  "title": "Нормативные правила FSP Quote 1.0",
  "description": "Правила запроса сметы и ответа. Обязательны для соответствия модулю.",
  "in_standard": true,
  "columns": [
    "ID",
    "Правило"
  ],
  "rows": [
    {
      "ID": "QUOTE-001",
      "Правило": "Запрос описывается операциями и объёмом. Требовать от заявителя площадь под хранение запрещено: если storage_need не задан, площадь выводится вызывающей стороной."
    },
    {
      "ID": "QUOTE-002",
      "Правило": "Формулы вывода среднего остатка, площади под хранение и нужной пропускной способности стандартом не нормируются. Каждая применённая величина обязана быть перечислена в quote_response.assumptions с кодом и значением."
    },
    {
      "ID": "QUOTE-003",
      "Правило": "quote_response.unmet заполняется только кодами закрытого реестра «Причины непокрытия». Свободный текст допускается лишь в поле detail рядом с кодом."
    },
    {
      "ID": "QUOTE-004",
      "Правило": "Код с влиянием exclude убирает оператора из выдачи; код с влиянием partial оставляет его с fit=partial. Оператор с непустым unmet никогда не имеет fit=full."
    },
    {
      "ID": "QUOTE-005",
      "Правило": "Пустая смета не равна нулю: если ставка не найдена или требует согласования, возвращается код service_not_priced или manual_quote_required, а не сумма 0."
    },
    {
      "ID": "QUOTE-006",
      "Правило": "Смета обязана указывать уровень FSP Pricing, на котором она посчитана. Расчёт на уровне ниже требуемого запросом возвращает pricing_level_insufficient."
    },
    {
      "ID": "QUOTE-007",
      "Правило": "Ответ на запрос в свободной форме обязан возвращать разобранную структуру запроса и перечень полей, которые не удалось определить однозначно."
    }
  ]
}