В административном делении «Подсказок» поля city могут иногда дублировать поля region или area.
Для городов-регионов (например, Москва или Санкт-Петербург) поля city дублируют поля region:
region_fias_id: 0c5b2444-70a0-4932-980c-b4dc0d3f02b5 region_kladr_id: 7700000000000 region_iso_code: RU-MOW region_with_type: г Москва region_type: г region_type_full: город region: Москва city_fias_id: 0c5b2444-70a0-4932-980c-b4dc0d3f02b5 city_kladr_id: 7700000000000 city_with_type: г Москва city_type: г city_type_full: город city: Москва
Для городов-районов (например, Московская обл, г Одинцово) поля city дублируют поля area:
area_fias_id: 6ae8ad9e-aa6c-4849-92d8-8e637059c9b0 area_kladr_id: 5004200000000 area_with_type: г Одинцово area_type: г area_type_full: город area: Одинцово city_fias_id: 6ae8ad9e-aa6c-4849-92d8-8e637059c9b0 city_kladr_id: 5004200000000 city_with_type: г Одинцово city_type: г city_type_full: город city: Одинцово
Если строго следовать ФИАС, то города-регионы должны быть только в region, а города-районы только в area, поля city при этом должны быть пустыми. «Фактор» работает именно так. «Подсказки» же часто используются в интернет-магазинах совместно с модулями расчета стоимости доставки. Эти модули тонкостей ФИАСа не понимают, и хотят, чтобы у адреса всегда был город. Поэтому подсказки возвращают город в city.
Адрес одной строкой в полях value (и unrestricted_value) уже учитывает этот сценарий, поэтому название города не дублируется:
- г Москва, ул Сухонская, д 11
- Московская обл, г Одинцово, ул Каштановая, д 4
Если вы не используете поле value, а составляете адрес одной строкой из отдельных полей, то ситуации дублирования city–region и city–area можно отслеживать по ФИАС-кодам:
- Если city_fias_id = region_fias_id, то город дублирует регион.
- Если city_fias_id = area_fias_id, то город дублирует район.
В муниципальном делении «Подсказки» возвращают city как в ФИАС.