Address format changes by region; fields cannot be fixed
Aliases: address schema · postal fields · international address
What it is
An address is not a global set of columns. Some countries have no province, some have no postal code, some put the house number before the street, some can be delivered from one free-text line. Fields cannot be fixed means “state / city / district / street / postal code” must not be the skeleton for every region, with hiding or “n/a” hammered on top. What switches with region is the field set, the order, and the validation—not the same boxes with new labels. How a phone is segmented, and how many pieces a name has, are different structure problems. Localized display (how an envelope is printed) is not the same as how many boxes the input layer should split into.
Why it happens
Delivery systems recognize a local address map, not the product’s database columns. A fixed skeleton turns nodes that do not exist on that map into required fields (a country without states forced to pick a state) or drops nodes the map requires (UK post town, Japanese chōme). People stuff answers into the box that looks closest; validation checks against the wrong map; a legal address is judged illegal. A second layer: order is structure too. Many regions go large-to-small (country → province → city → street); others go small-to-large or put the postal code first. A fixed order forces people to recall home as if it were a foreign envelope, and retrieval fails. One “Address” line plus a region picker often preserves the local map better than six empty boxes. Splitting into columns pays only when the local map itself is multi-node and the delivery side needs the pieces separate.
Studying it
Run the same checkout address form on at least three maps that differ (state + postal code, no state with postal code, no postal code with deep administrative units). Compare fixed columns, columns that switch by region, and a single free-text line.
Independent variables: field skeleton (fixed / by region / single line), whether validation follows the skeleton, whether order follows local habit. Dependent variables: legal addresses rejected, information placed in the wrong column, completion time, whether the delivery side can parse.
If lab participants all live in one country, fixed columns look fine. Recruit people who have lived outside the product’s default country, or use addresses they would actually write. Envelope-layout correctness is not evidence the input can be submitted.
Where it stops holding
An internal system that only serves one jurisdiction (one city’s administration) can use that locale’s fixed columns—but must not copy those columns into an overseas build. Autocomplete trained only on the default country’s map will suggest states that do not exist when the region changes, which is worse than typing. Military addresses, campuses, and rural nameless roads need an escape into free text even when the local map is usually multi-column. A confirmed address shown only for display can be set as a local envelope; it does not need to be split back into input columns.
Applying it
- Choose country or region first, then render that region’s field set and order. Do not lay out province-city-district before the region is chosen.
- Nodes the locale lacks must not appear. Nodes the locale requires must not be buried in a “details” box hoping people will segment them.
- Offer a “write it as one line” escape for failed autocomplete, nameless roads, and special delivery points.
- Verify with a real address from a country without states: no required state. With a locale that puts postal code first: order is not the product default of “postal code last.” Force a fixed six-column layout on those three locales, list the legal addresses it rejects, and keep that as the do-not-ship control.
Related
- Within the group: H1.10.2 Phone numbers must handle country codes and format variants · H1.10.3 Names must not assume order or count of given and family names
- Adjacent: S2.06 Address and postal-code formats · H1.02 Field order and grouping · S2.09 Regional differences in input validation
- Search terms:
address form·postal schema·locale