Offer
An offer is a store’s listing against a master product variant, represented by theOffer data model (table offer, id prefix offer). It’s a thin
marketplace-side record: it holds the store (seller_id), the master variant it
points at (variant_id), the master product (product_id), the store’s own
sku, optional ean / upc barcodes, and the shipping profile it ships with.
Price and inventory are attached through links rather than stored on the row.
Products are not seller-owned. The master product and its variants live in
the shared catalog. An offer never modifies the product. It points at a
variant and layers the store’s own commercial terms on top.
Offer vs. master product
A single master variant can back many offers, one per store that sells it. TheOffer carries the identity of that particular listing:
product_id/variant_id: the master records the offer points at (joined through read-only links).seller_id: the store that owns the offer (read-only link to the store).sku: the store’s own stock-keeping unit for this listing.ean/upc: barcodes, snapshotted off the linked variant when not supplied.
One offer per variant
Each offer points at exactly one variant, so a store’s offers on a product mirror that product’s variants. When offers are grouped by store (group_by_seller), the service computes a variant_count and an offer_ids
list for the grouped (product, seller) row. The dashboards use it to act on
all of a store’s offers on a product at once.