Marketplaces
Marketplace database schema with Prisma
Users, categories, listings priced in cents, and orders in the Marketplace Starter.
The Marketplace Starter stores four models. A user is the seller. A listing belongs to that user and to a category. An order points at a listing and a buyer email.
model Listing {
slug String @unique
title String
summary String
priceCents Int
status String @default("published")
sellerId String
categoryId String
}
model Order {
listingId String
buyerEmail String
status String @default("pending")
}
priceCents is an integer. 2400 is 24.00 EUR. Do not store a float. Listing status defaults to "published", which is the opposite of the job board and the directory. Orders default to "pending" until Checkout reports a paid session.
There is no Connect account, no transfer, and no application fee. Payout splitting is intentionally not in this schema. Seller and listing routes are in seller and listing architecture. The charge is in Stripe payments for marketplaces.