Amazon-style marketplace database schema

How a marketplace models many sellers listing the same product: a shared catalogue, competing offers, the buy box decision as a log, orders split into per-seller sub-orders, fulfilment, payouts and product-level reviews.

Amazon Marketplace ER diagram

Amazon-style marketplace database schema n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 catalog_products idBIGINT product_codeVARCHAR parent_idBIGINT gtinVARCHAR brandVARCHAR titleVARCHAR attributesJSONB category_pathVARCHAR created_atTIMESTAMPTZ sellers idBIGINT display_nameVARCHAR legal_nameVARCHAR country_codeCHAR statusVARCHAR feedback_scoreNUMERIC late_shipment_rateNUMERIC payout_hold_daysINTEGER onboarded_atTIMESTAMPTZ offers idBIGINT catalog_product_idBIGINT seller_idBIGINT conditionVARCHAR price_centsINTEGER shipping_centsINTEGER currency_codeCHAR quantity_availableINTEGER fulfillment_chann…VARCHAR handling_daysINTEGER is_activeBOOLEAN updated_atTIMESTAMPTZ buy_box_awards idBIGINT catalog_product_idBIGINT offer_idBIGINT scoreNUMERIC landed_price_centsINTEGER reasonVARCHAR won_atTIMESTAMPTZ lost_atTIMESTAMPTZ buyers idBIGINT emailVARCHAR full_nameVARCHAR default_addressJSONB prime_memberBOOLEAN created_atTIMESTAMPTZ orders idBIGINT buyer_idBIGINT order_numberVARCHAR currency_codeCHAR items_total_centsINTEGER shipping_total_ce…INTEGER tax_total_centsINTEGER grand_total_centsINTEGER shipping_addressJSONB payment_referenceVARCHAR placed_atTIMESTAMPTZ seller_orders idBIGINT order_idBIGINT seller_idBIGINT fulfillment_chann…VARCHAR statusVARCHAR items_total_centsINTEGER shipping_centsINTEGER referral_fee_centsINTEGER fulfillment_fee_c…INTEGER ship_by_dateDATE cancelled_atTIMESTAMPTZ seller_order_items idBIGINT seller_order_idBIGINT offer_idBIGINT catalog_product_idBIGINT product_codeVARCHAR titleVARCHAR conditionVARCHAR quantityINTEGER unit_price_centsINTEGER total_centsINTEGER shipments idBIGINT seller_order_idBIGINT shipped_byVARCHAR origin_warehouseVARCHAR carrierVARCHAR tracking_numberVARCHAR promised_byDATE shipped_atTIMESTAMPTZ delivered_atTIMESTAMPTZ payouts idBIGINT seller_idBIGINT period_startDATE period_endDATE gross_centsINTEGER fees_centsINTEGER adjustments_centsINTEGER net_centsINTEGER currency_codeCHAR statusVARCHAR paid_atTIMESTAMPTZ payout_entries idBIGINT payout_idBIGINT seller_order_idBIGINT entry_typeVARCHAR amount_centsINTEGER descriptionVARCHAR occurred_atTIMESTAMPTZ reviews idBIGINT catalog_product_idBIGINT buyer_idBIGINT seller_order_item…BIGINT ratingSMALLINT titleVARCHAR bodyTEXT verified_purchaseBOOLEAN helpful_votesINTEGER statusVARCHAR created_atTIMESTAMPTZ

Related database schemas