Listing Domain Model
Learn how AutoCore connects a listing to its seller, dealer, catalog, location, media, and public search context.
A listing is the marketplace record that combines a seller context with a catalog-validated vehicle description, price, location, lifecycle state, media, and buyer-facing interactions.
Core relationships
| Relationship | Meaning |
|---|---|
| Listing → User | Required seller owner; deleting the user cascades according to the schema boundary. |
| Listing → DealerProfile | Optional dealer attribution, verified through active membership when created. |
| Listing → Catalog | Required category, brand, and model; generation, trim, engine, and lookup attributes may be optional. |
| Listing → Location | Required city and optional district. |
| Listing → MediaAsset | Zero or more assets; the cover URL is a denormalized rendering aid. |
| Listing → Interactions | Favorites, conversations, reports, price history, and promotion relationships. |
Stored facts
The current model includes title, description, price and currency, year,
mileage, condition, optional engine/power/color and damage facts, contact
visibility, publication timestamps, and soft deletion. vin is stored on the
listing model but is not included in the search document.
Ownership and public meaning
The seller user owns the listing record. A dealer profile can provide the seller context without replacing the user identity. Public detail reads select active, non-deleted listings; draft, rejected, and other non-public states are not publicly visible through the public detail boundary.