{
  "$schema": "daysapp/rules/v3",
  "rulesetVersion": "2026.09.17-01",
  "generatedAt": "2026-09-17",
  "passport": "RU",

  "status": "draft-accepted",
  "releaseGate": {
    "blocking": true,
    "requirement": "Перед публикацией приложения каждое правило вручную сверяется по первоисточнику (сайт МИД / иммиграционной службы юрисдикции). Правило считается готовым к релизу только после того, как проставлены свежий verifiedAt, ссылка на первоисточник и confidence = high.",
    "notReadyForRelease": ["AM", "TH", "ME", "KZ", "ID", "RS", "TR", "GE", "RU", "CN"],
    "readyForRelease": ["SCHENGEN", "AE"]
  },

  "notes": [
    "Источники — новостные и отраслевые публикации, НЕ первоисточники. Для разработки движка достаточно, для релиза каждое правило нужно переподтвердить по сайту МИД/иммиграционной службы и поднять confidence до high.",
    "Движок выбирает правило по дате въезда (effectiveFrom / effectiveTo), а не по текущей дате: въехавшие до смены правил доживают по старым.",
    "Правило с confidence low или непустым conflictingSources НЕ показывается пользователю как точное число — только как диапазон с предупреждением."
  ],

  "constraintTypes": {
    "maxPerEntry": "максимум дней за один непрерывный въезд",
    "rollingWindow": "не более days дней в любом окне windowDays — окно движется, дни выпадают по одному",
    "fixedWindow": "не более days дней внутри периода windowDays, отсчитываемого от anchor; на границе периода счётчик обнуляется целиком",
    "calendarYear": "не более days дней за календарный год",
    "rolling12Months": "не более days дней за 12 скользящих месяцев",
    "maxEntries": "не более count въездов за period; может ограничиваться полем transport",
    "actionRequired": "обязательное действие (регистрация, уведомление) на afterDays день пребывания — не лимит, а дедлайн"
  },

  "rules": [

    {
      "id": "ru-schengen-visa",
      "territory": "SCHENGEN",
      "territoryName": "Шенгенская зона",
      "covers": ["ES", "PT", "DE", "FR", "IT", "GR", "HU", "AT", "HR", "SI", "PL", "CZ", "SK", "NL", "BE", "LU", "DK", "SE", "FI", "NO", "IS", "CH", "EE", "LV", "LT", "MT", "LI", "BG", "RO"],
      "kind": "stayLimit",
      "basis": "visaRequired",
      "constraints": [
        { "type": "rollingWindow", "days": 90, "windowDays": 180 }
      ],
      "resetOnExit": false,
      "countsEntryDay": true,
      "countsExitDay": true,
      "extension": null,
      "exemptWhileHolding": ["EU_RESIDENCE_PERMIT", "NATIONAL_D_VISA"],
      "note": "Для граждан РФ въезд только по визе. Фактический лимит — минимум из 90/180 и условий конкретной визы (срок действия + поле 'Duration of stay'). Пользователь вводит параметры своей визы вручную. Держатели ВНЖ страны ЕС или национальной визы D под лимит 90/180 не подпадают.",
      "userInputRequired": ["visaValidFrom", "visaValidTo", "visaDurationOfStay", "visaEntries"],
      "verifiedAt": "2026-09-16",
      "confidence": "high"
    },

    {
      "id": "ru-ge-visafree",
      "territory": "GE",
      "territoryName": "Грузия",
      "kind": "stayLimit",
      "basis": "visaFree",
      "constraints": [
        { "type": "maxPerEntry", "days": 365 }
      ],
      "resetOnExit": true,
      "countsEntryDay": true,
      "countsExitDay": true,
      "extension": null,
      "exemptWhileHolding": ["GE_RESIDENCE_PERMIT"],
      "note": "365 дней за один въезд, продление внутри страны невозможно. Обнуляется выездом — визаран через Армению или Турцию работает. С 01.01.2026 обязательна медстраховка с покрытием от $30 000.",
      "verifiedAt": "2026-09-16",
      "confidence": "medium"
    },

    {
      "id": "ru-am-visafree",
      "territory": "AM",
      "territoryName": "Армения",
      "kind": "stayLimit",
      "basis": "visaFree",
      "constraints": [
        { "type": "fixedWindow", "days": 180, "windowDays": 365, "anchor": "firstEntry" }
      ],
      "resetOnExit": false,
      "countsEntryDay": true,
      "countsExitDay": true,
      "extension": null,
      "exemptWhileHolding": ["AM_RESIDENCE_PERMIT"],
      "legalBasis": "Закон РА «Об иностранцах», статья 7, часть 1: граждане государств с безвизовым режимом могут пребывать не более 180 дней в течение одного года, если международными договорами РА не установлен иной срок.",
      "penalty": "50 000–100 000 AMD, ч. 1 ст. 201 КоАП РА. Первое нарушение обычно 50 000, повторное в течение года 100 000. Оформляется погранслужбой при выезде.",
      "ambiguous": true,
      "ambiguityNote": "Норма говорит «в течение одного года» БЕЗ слова «календарного» и не задаёт точку отсчёта. Заложено самое строгое прочтение (365 дней от первого въезда, выезд не обнуляет). В интерфейсе показывать предупреждение о неоднозначности и предлагать консультацию.",
      "openQuestions": [
        "Точка отсчёта года: календарный / скользящие 12 месяцев / 365 дней от первого въезда",
        "Обнуляет ли выезд — источники противоречат друг другу",
        "Устанавливает ли двустороннее соглашение РФ–Армения или договоры ЕАЭС иной срок (оговорка в самой статье 7)",
        "Возможна ли легализация на 181-й день без выезда"
      ],
      "source": "https://www.arlis.am/DocumentView.aspx?DocID=173412",
      "verifiedAt": "2026-09-16",
      "confidence": "low"
    },

    {
      "id": "ru-ae-visafree",
      "territory": "AE",
      "territoryName": "ОАЭ",
      "kind": "stayLimit",
      "basis": "visaFree",
      "constraints": [
        { "type": "fixedWindow", "days": 90, "windowDays": 180, "anchor": "firstEntry" }
      ],
      "resetOnExit": false,
      "countsEntryDay": true,
      "countsExitDay": true,
      "extension": null,
      "exemptWhileHolding": ["AE_RESIDENCE_VISA"],
      "note": "Бесплатный штамп по прилёте, безвиз действует с 17.02.2019. Окно ФИКСИРОВАННОЕ: 180 дней отсчитываются от даты первого въезда, внутри периода доступно 90 дней. На границе периода счётчик обнуляется целиком и лимит снова полный. Выезд внутри периода ничего не обнуляет.",
      "verifiedAt": "2026-09-16",
      "confidence": "high"
    },

    {
      "id": "ru-kz-visafree",
      "territory": "KZ",
      "territoryName": "Казахстан",
      "kind": "stayLimit",
      "basis": "visaFree",
      "constraints": [
        { "type": "rollingWindow", "days": 90, "windowDays": 180 },
        { "type": "actionRequired", "afterDays": 30, "action": "registration", "label": "Уведомить миграционные органы" }
      ],
      "resetOnExit": false,
      "countsEntryDay": true,
      "countsExitDay": true,
      "extension": null,
      "exemptWhileHolding": ["KZ_RVP", "KZ_VNZH"],
      "note": "С 27.01.2023 визаран отменён: выезд не обнуляет срок. После исчерпания 90 дней вернуться можно только по истечении 180-дневного периода с первого въезда. Первые 30 дней — без регистрации, далее регистрация обязательна.",
      "verifiedAt": "2026-09-16",
      "confidence": "medium"
    },

    {
      "id": "ru-id-voa",
      "territory": "ID",
      "territoryName": "Индонезия",
      "kind": "stayLimit",
      "basis": "visaOnArrival",
      "constraints": [
        { "type": "maxPerEntry", "days": 30 }
      ],
      "resetOnExit": true,
      "countsEntryDay": true,
      "countsExitDay": true,
      "extension": { "days": 30, "times": 1, "paid": true, "feeUSD": 35 },
      "exemptWhileHolding": ["ID_KITAS"],
      "note": "Виза по прилёте B1 (VoA / e-VoA), $35. Продлевается один раз на 30 дней без выезда, максимум 60 дней суммарно, затем выезд обязателен.",
      "verifiedAt": "2026-09-16",
      "confidence": "medium"
    },

    {
      "id": "ru-rs-visafree",
      "territory": "RS",
      "territoryName": "Сербия",
      "kind": "stayLimit",
      "basis": "visaFree",
      "constraints": [
        { "type": "maxPerEntry", "days": 30 },
        { "type": "actionRequired", "afterDays": 1, "action": "registration", "label": "Оформить beli karton" }
      ],
      "resetOnExit": true,
      "countsEntryDay": true,
      "countsExitDay": true,
      "extension": null,
      "exemptWhileHolding": ["RS_BORAVAK"],
      "note": "Число въездов не ограничено, срок обнуляется выездом. Визаран через Боснию или Черногорию работает. Регистрация (beli karton) в течение 24 часов после въезда.",
      "verifiedAt": "2026-09-16",
      "confidence": "medium"
    },

    {
      "id": "ru-tr-visafree",
      "territory": "TR",
      "territoryName": "Турция",
      "kind": "stayLimit",
      "basis": "visaFree",
      "constraints": [
        { "type": "maxPerEntry", "days": 60 },
        { "type": "rollingWindow", "days": 90, "windowDays": 180 }
      ],
      "resetOnExit": false,
      "countsEntryDay": true,
      "countsExitDay": true,
      "extension": null,
      "exemptWhileHolding": ["TR_IKAMET"],
      "note": "Два ограничения действуют одновременно. Дни под действующим ВНЖ (икамет) в лимит 90/180 не включаются. Оверстей — штраф порядка $100 за день.",
      "verifiedAt": "2026-09-16",
      "confidence": "medium"
    },

    {
      "id": "ru-th-visafree-until-2026-09-14",
      "territory": "TH",
      "territoryName": "Таиланд",
      "kind": "stayLimit",
      "basis": "visaFree",
      "effectiveTo": "2026-09-14",
      "constraints": [
        { "type": "maxPerEntry", "days": 60 }
      ],
      "resetOnExit": true,
      "countsEntryDay": true,
      "countsExitDay": true,
      "extension": { "days": 30, "times": 1, "paid": true },
      "note": "Для въездов до 14.09.2026 включительно. Такие въезды доживают по старому штампу после смены правил.",
      "verifiedAt": "2026-09-16",
      "confidence": "medium"
    },

    {
      "id": "ru-th-visafree-from-2026-09-15",
      "territory": "TH",
      "territoryName": "Таиланд",
      "kind": "stayLimit",
      "basis": "visaFree",
      "effectiveFrom": "2026-09-15",
      "constraints": [
        { "type": "maxPerEntry", "days": 30 },
        { "type": "maxEntries", "count": 2, "period": "calendarYear", "transport": "land" }
      ],
      "resetOnExit": true,
      "countsEntryDay": true,
      "countsExitDay": true,
      "extension": { "days": 30, "times": 1, "paid": true },
      "note": "Основание для россиян — двустороннее соглашение РФ–Таиланд от декабря 2005 г. Продление на 30 дней оформляется в иммиграционном бюро.",
      "verifiedAt": "2026-09-16",
      "confidence": "medium"
    },

    {
      "id": "ru-me-visafree-until-2026-10-31",
      "territory": "ME",
      "territoryName": "Черногория",
      "kind": "stayLimit",
      "basis": "visaFree",
      "effectiveTo": "2026-10-31",
      "constraints": [
        { "type": "maxPerEntry", "days": 30 }
      ],
      "resetOnExit": true,
      "countsEntryDay": true,
      "countsExitDay": true,
      "exemptWhileHolding": ["ME_BORAVAK"],
      "verifiedAt": "2026-09-16",
      "confidence": "medium"
    },

    {
      "id": "ru-me-visarequired-from-2026-11-01",
      "territory": "ME",
      "territoryName": "Черногория",
      "kind": "stayLimit",
      "basis": "visaRequired",
      "effectiveFrom": "2026-11-01",
      "constraints": [],
      "resetOnExit": false,
      "countsEntryDay": true,
      "countsExitDay": true,
      "exemptWhileHolding": ["ME_BORAVAK"],
      "note": "С 01.11.2026 требуется виза. Лимит определяется условиями конкретной визы, вводится пользователем вручную. Подача — посольство в Москве или визовые центры VFS.",
      "userInputRequired": ["visaValidFrom", "visaValidTo", "visaDurationOfStay"],
      "verifiedAt": "2026-09-16",
      "confidence": "medium"
    },

    {
      "id": "ru-cn-visafree-until-2027-12-31",
      "territory": "CN",
      "territoryName": "Китай континентальный",
      "kind": "stayLimit",
      "basis": "visaFree",
      "effectiveTo": "2027-12-31",
      "constraints": [
        { "type": "maxPerEntry", "days": 30 }
      ],
      "resetOnExit": true,
      "countsEntryDay": true,
      "countsExitDay": true,
      "exemptWhileHolding": [],
      "note": "Безвизовый режим действует с 15.09.2025, продлён МИД КНР 20.05.2026 до 31.12.2027. До 30 дней за один непрерывный въезд, число въездов и общий срок за период не ограничены. Цели: туризм, бизнес, визиты к родственникам, транзит — не подходит для учёбы, работы и журналистской деятельности. Загранпаспорт должен действовать весь срок пребывания. Регистрация по месту пребывания обязательна в течение 24 часов после въезда (в гостинице оформляется автоматически). Гонконг, Макао и Тайвань имеют отдельный визовый режим и в этот лимит не входят.",
      "penalty": "Штраф до 500 юаней в день (максимум 10 000) или административный арест на 5–15 суток за превышение срока пребывания.",
      "source": "МИД КНР, заявление о продлении безвизового режима от 20.05.2026; посольство КНР в РФ",
      "verifiedAt": "2026-09-17",
      "confidence": "medium"
    },

    {
      "id": "ru-cn-visarequired-from-2028-01-01",
      "territory": "CN",
      "territoryName": "Китай континентальный",
      "kind": "stayLimit",
      "basis": "visaRequired",
      "effectiveFrom": "2028-01-01",
      "constraints": [],
      "resetOnExit": false,
      "countsEntryDay": true,
      "countsExitDay": true,
      "exemptWhileHolding": [],
      "note": "Плановая заглушка на случай, если временный безвизовый режим не будет продлён повторно после 31.12.2027. Если продление объявят — эту дату нужно будет отодвинуть, а не удалять правило. Перед этой датой требуется свежая проверка по официальному источнику.",
      "userInputRequired": ["visaValidFrom", "visaValidTo", "visaDurationOfStay"],
      "verifiedAt": "2026-09-17",
      "confidence": "low"
    },

    {
      "id": "ru-tax-residency",
      "territory": "RU",
      "territoryName": "Россия",
      "kind": "taxResidency",
      "constraints": [
        { "type": "rolling12Months", "days": 183, "direction": "atLeast" }
      ],
      "countsEntryDay": true,
      "countsExitDay": true,
      "note": "ТРЕБУЕТ ЮРИДИЧЕСКОЙ ПРОВЕРКИ. Налоговым резидентом признаётся лицо, находившееся в РФ не менее 183 календарных дней в течение 12 следующих подряд месяцев. При этом окончательный статус для НДФЛ определяется по итогам календарного года — то есть в течение года 12-месячное окно даёт предварительную оценку, а годовой расчёт финальную. В приложении показывать как сигнал, а не как вывод о статусе.",
      "verifiedAt": "2026-09-16",
      "confidence": "low"
    }
  ],

  "pending": [
    "CY — Кипр: не входит в Шенген, для граждан РФ требуется национальная виза. Текущий порядок не проверен.",
    "Правила для держателей ВНЖ каждой юрисдикции (максимальный срок отсутствия без потери статуса) — отдельный тип правил, не собран."
  ]
}
