2026-08-18 — Directory listings lifecycle
Summary
Food trucks are modeled as real-world directory listings, not Square locations owned by a user row. Closed trucks stay registered and claimable. Find can include closed listings as an opt-in. After about three years a closed listing is hidden (delisted), never deleted. Square is an optional POS attachment. Personal data is erased only after a deletion-request form.
Highlights
-
New
businessestenant table.foodTrucks.userIdandsquareLocationIdare optional so unclaimed directory rows can exist. -
Listing fields:
operatingStatus(operating / closed),listingStatus(listed / delisted),claimStatus. -
Find default is operating + listed.
closed=1includes closed listed trucks. Developers can include delisted. -
Account close keeps trucks and Square credentials. Erasure unclaims trucks and tombstones the user; the directory row stays.
-
Privacy form at
/privacy/deletion-request(account close, erasure, listing removal). Not legal advice: the directory is a compilation of a real-world business; personal data is erasable on request; a listing can remain unclaimed unless they also ask for delist. -
Idempotent Memphis seed (She Shed closed, Paper Plate Pavilion closed, Smoke And Rolls operating) runs after production Convex deploy. Do not treat paperplatepavilion.com as that business.
-
Instagram/Facebook are a live public bridge for later description generation, not source-of-truth copies we store. Later cheap text models (Gemini Flash, Groq, or xAI) may draft copy from those public pages — not built in this change.