# City

A city or municipality, created on demand from addresses.

Source table: Cities in Core Record Types (`schema:City`). A City is a named populated place with local government. Cities are created on demand when an address needs one, never by bulk import.

## Rules and relationships

Enter Name and link one [State](/systems/core/state). State Name [ST] and `Country <State>` are read through that state, so a city has no country link of its own. Address lists the addresses in the city. The primary field is ID, an auto number, so links to a city show a number rather than its name. An earlier Identifier field was removed; whether that was intended is an open question.

## Lifecycle and checks

Active marks a city available for current operations. Record health is the share of two fields that are filled (Name and State); Health check names the missing ones. Step 1: Add City · V1 and Step 2: Changelog Information · V1 are column sets without filters, not a routed intake.

## Source fields

Names, types, options and links are those configured in Core Record Types. The meaning is the first line of each field description in Airtable. Options describe configuration; they do not prove a rule is enforced elsewhere.

### Recorded values

| Field | Type | Meaning | Options, link or calculation |
| --- | --- | --- | --- |
| Name | Text | Stores the plain-language name of the city or municipality. | Entered value. |
| Active | Checkbox | Stores whether this city is available for current operations. | Entered value. |

### Links

| Field | Type | Meaning | Options, link or calculation |
| --- | --- | --- | --- |
| State | Linked records | Links the state or province this city is in. | → [State](/systems/core/state) · one record |
| Address | Linked records | Links the addresses located in this city. | → [Address](/systems/core/address) · several records |
| Tags | Linked records | Links optional labels from the shared Core Tags catalog. | → [Tag](/systems/core/tag) · several records |

### Calculated

| Field | Type | Meaning | Options, link or calculation |
| --- | --- | --- | --- |
| State Name [ST] | Lookup | Shows the linked state's name so the city reads on its own. | Lookup of Name through State |
| Country &lt;State&gt; | Lookup | Shows the country the city is in, inherited through its state. | Lookup of Country Name [CT] through State |
| Record health | Formula | Shows how complete this city's core data is, as the share of two key fields that are filled. | Formula below. |
| Health check | Formula | Says in words what is missing from this city's core data, or shows ✅ when nothing is. | Formula below. |

### Generated by Airtable

| Field | Type | Meaning | Options, link or calculation |
| --- | --- | --- | --- |
| ID | Auto number | Shows the running number Airtable gave this city when the row was created. | Airtable system value. |
| Created By | Created by | Shows who created this row in Airtable. | Airtable system value. |
| Created | Created time | Shows when this row was created in Airtable. | Airtable system value. |
| Last Modified By | Last modified by | Shows who last changed any value in this row. | Airtable system value. |
| Last Modified | Last modified time | Shows when any value in this row last changed. | Airtable system value. |

## Current formulas

Field IDs are rendered as current field names.

### Record health

```text
SUM(
IF({Name},1,0),
IF(COUNTA({State})>0,1,0)
)/2
```

### Health check

```text
IF(
  AND(
    {Name},
    COUNTA({State})>0
  ),
  "✅",
  "Missing: " & REGEX_REPLACE(
    CONCATENATE(
      IF({Name}, "", "Name, "),
      IF(COUNTA({State})>0, "", "State, ")
    ),
    ", $", ""
  )
)
```

## Example (fictitious)

Before linking an address in Austin, the maintainer searches Cities for Austin, finds none, adds Name "Austin", links State Texas and checks Active. `Country <State>` then shows United States.

## Use by other systems

No other system mirrors this table.

[Correct shared records](/systems/core/maintain-shared-records) · [All entities](/systems/core/entities)