# A clean schema and room for non-airport places (rian, 2026-09-15)

**The standing constraint.** Rian: *"I think a clean database is very important and also that we
plan as best as possible for scalability."* Applied to naming above all: **do not box the model in
with a noun that is narrower than the thing.** `locations` means airports today only because the
place's identity is an IATA code.

**What is coming, on his word:** cruise ports are *definite* ("we are definitely going to expand to
cruise ports", after the initial site; Adam's `cruise-ports` topic carries his port list and a Google
Doc), and other kinds of place — outlet malls were his example — are possible. So any name or key
chosen now must survive a place that has no airport code. The first one is already in the database:
the BorderShop at Puttgarden (code `SCA`, 1,806 listings), hidden for want of anywhere to say where
it is.

**How he wants it handled.** Documented in detail first, planned later: he reviews all his open
issues together and then works on a database refactor plan. Do not write the schema, do not schedule
it, do not start it. The analysis with no plan attached is
`.logs/planning/places-and-shops-2026-09-15.md`; the decision item on the running list is
`decide-the-database-structure-changes-you-want-after-the-listin`.

See also [[database-map-artifact]].
