ContractSpec docs

OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

marketplace

Full-featured marketplace with stores, products, orders, payouts, and reviews

  • Type: feature
  • Version: 1.0.0
  • Stability: experimental
  • Owners: @marketplace-team
  • Tags: marketplace, ecommerce, multi-vendor, payments
  • field.key.label
    marketplace
    field.version.label
    1.0.0
    field.type.label
    feature
    field.title.label
    marketplace
    field.description.label

    Full-featured marketplace with stores, products, orders, payouts, and reviews

  • Type: feature
  • Version: 1.0.0
  • Stability: experimental
  • Owners: @marketplace-team
  • Tags: marketplace, ecommerce, multi-vendor, payments
  • field.tags.label
    marketplace,ecommerce,multi-vendor,payments
    field.owners.label
    @marketplace-team
    field.stability.label
    experimental

    Full-featured marketplace with stores, products, orders, payouts, and reviews

    Operations (8)

    `marketplace.store.create` (v1.0.0)

    `marketplace.product.create` (v1.0.0)

    `marketplace.product.list` (v1.0.0)

    `marketplace.order.create` (v1.0.0)

    `marketplace.order.updateStatus` (v1.0.0)

    `marketplace.payout.list` (v1.0.0)

    `marketplace.review.create` (v1.0.0)

    `marketplace.review.list` (v1.0.0)

    Events (14)

    `marketplace.store.created` (v1.0.0)

    `marketplace.store.statusChanged` (v1.0.0)

    `marketplace.product.created` (v1.0.0)

    `marketplace.product.published` (v1.0.0)

    `marketplace.inventory.updated` (v1.0.0)

    `marketplace.order.created` (v1.0.0)

    `marketplace.order.paid` (v1.0.0)

    `marketplace.order.statusUpdated` (v1.0.0)

    `marketplace.order.shipped` (v1.0.0)

    `marketplace.order.completed` (v1.0.0)

    `marketplace.payout.created` (v1.0.0)

    `marketplace.payout.paid` (v1.0.0)

    `marketplace.review.created` (v1.0.0)

    `marketplace.review.responded` (v1.0.0)

    Presentations (12)

    `marketplace.store.profile` (v1.0.0)

    `marketplace.seller.dashboard` (v1.0.0)

    `marketplace.product.catalog` (v1.0.0)

    `marketplace.product.detail` (v1.0.0)

    `marketplace.product.editor` (v1.0.0)

    `marketplace.order.list` (v1.0.0)

    `marketplace.order.detail` (v1.0.0)

    `marketplace.checkout` (v1.0.0)

    `marketplace.payout.viewList` (v1.0.0)

    `marketplace.payout.detail` (v1.0.0)

    `marketplace.review.viewList` (v1.0.0)

    `marketplace.review.form` (v1.0.0)

    Source Definition

    /**
     * Marketplace Feature Module Specification
     */
    import { defineFeature } from '@lssm-tech/lib.contracts-spec';
    import { MarketplaceVisualizationRefs } from './visualizations';
    
    /**
     * Marketplace feature module that bundles multi-vendor marketplace
     * capabilities including stores, products, orders, payouts, and reviews.
     */
    export const MarketplaceFeature = defineFeature({
    	meta: {
    		key: 'marketplace',
    		version: '1.0.0',
    		title: 'Multi-Vendor Marketplace',
    		description:
    			'Full-featured marketplace with stores, products, orders, payouts, and reviews',
    		domain: 'marketplace',
    		owners: ['@marketplace-team'],
    		tags: ['marketplace', 'ecommerce', 'multi-vendor', 'payments'],
    		stability: 'experimental',
    	},
    
    	operations: [
    		// Store operations
    		{ key: 'marketplace.store.create', version: '1.0.0' },
    
    		// Product operations
    		{ key: 'marketplace.product.create', version: '1.0.0' },
    		{ key: 'marketplace.product.list', version: '1.0.0' },
    
    		// Order operations
    		{ key: 'marketplace.order.create', version: '1.0.0' },
    		{ key: 'marketplace.order.updateStatus', version: '1.0.0' },
    
    		// Payout operations
    		{ key: 'marketplace.payout.list', version: '1.0.0' },
    
    		// Review operations
    		{ key: 'marketplace.review.create', version: '1.0.0' },
    		{ key: 'marketplace.review.list', version: '1.0.0' },
    	],
    
    	events: [
    		// Store events
    		{ key: 'marketplace.store.created', version: '1.0.0' },
    		{ key: 'marketplace.store.statusChanged', version: '1.0.0' },
    
    		// Product events
    		{ key: 'marketplace.product.created', version: '1.0.0' },
    		{ key: 'marketplace.product.published', version: '1.0.0' },
    		{ key: 'marketplace.inventory.updated', version: '1.0.0' },
    
    		// Order events
    		{ key: 'marketplace.order.created', version: '1.0.0' },
    		{ key: 'marketplace.order.paid', version: '1.0.0' },
    		{ key: 'marketplace.order.statusUpdated', version: '1.0.0' },
    		{ key: 'marketplace.order.shipped', version: '1.0.0' },
    		{ key: 'marketplace.order.completed', version: '1.0.0' },
    
    		// Payout events
    		{ key: 'marketplace.payout.created', version: '1.0.0' },
    		{ key: 'marketplace.payout.paid', version: '1.0.0' },
    
    		// Review events
    		{ key: 'marketplace.review.created', version: '1.0.0' },
    		{ key: 'marketplace.review.responded', version: '1.0.0' },
    	],
    
    	presentations: [
    		// Store
    		{ key: 'marketplace.store.profile', version: '1.0.0' },
    		{ key: 'marketplace.seller.dashboard', version: '1.0.0' },
    
    		// Product
    		{ key: 'marketplace.product.catalog', version: '1.0.0' },
    		{ key: 'marketplace.product.detail', version: '1.0.0' },
    		{ key: 'marketplace.product.editor', version: '1.0.0' },
    
    		// Order
    		{ key: 'marketplace.order.list', version: '1.0.0' },
    		{ key: 'marketplace.order.detail', version: '1.0.0' },
    		{ key: 'marketplace.checkout', version: '1.0.0' },
    
    		// Payout
    		{ key: 'marketplace.payout.viewList', version: '1.0.0' },
    		{ key: 'marketplace.payout.detail', version: '1.0.0' },
    
    		// Review
    		{ key: 'marketplace.review.viewList', version: '1.0.0' },
    		{ key: 'marketplace.review.form', version: '1.0.0' },
    	],
    
    	opToPresentation: [
    		{
    			op: { key: 'marketplace.product.list', version: '1.0.0' },
    			pres: { key: 'marketplace.product.catalog', version: '1.0.0' },
    		},
    		{
    			op: { key: 'marketplace.order.create', version: '1.0.0' },
    			pres: { key: 'marketplace.checkout', version: '1.0.0' },
    		},
    		{
    			op: { key: 'marketplace.payout.list', version: '1.0.0' },
    			pres: { key: 'marketplace.payout.viewList', version: '1.0.0' },
    		},
    		{
    			op: { key: 'marketplace.review.list', version: '1.0.0' },
    			pres: { key: 'marketplace.review.viewList', version: '1.0.0' },
    		},
    		{
    			op: { key: 'marketplace.review.create', version: '1.0.0' },
    			pres: { key: 'marketplace.review.form', version: '1.0.0' },
    		},
    	],
    
    	presentationsTargets: [
    		{
    			key: 'marketplace.store.profile',
    			version: '1.0.0',
    			targets: ['react', 'markdown'],
    		},
    		{
    			key: 'marketplace.seller.dashboard',
    			version: '1.0.0',
    			targets: ['react'],
    		},
    		{
    			key: 'marketplace.product.catalog',
    			version: '1.0.0',
    			targets: ['react', 'markdown'],
    		},
    		{
    			key: 'marketplace.product.detail',
    			version: '1.0.0',
    			targets: ['react', 'markdown'],
    		},
    		{ key: 'marketplace.product.editor', version: '1.0.0', targets: ['react'] },
    		{
    			key: 'marketplace.order.list',
    			version: '1.0.0',
    			targets: ['react', 'markdown'],
    		},
    		{
    			key: 'marketplace.order.detail',
    			version: '1.0.0',
    			targets: ['react', 'markdown'],
    		},
    		{ key: 'marketplace.checkout', version: '1.0.0', targets: ['react'] },
    		{
    			key: 'marketplace.payout.viewList',
    			version: '1.0.0',
    			targets: ['react', 'markdown'],
    		},
    		{
    			key: 'marketplace.review.viewList',
    			version: '1.0.0',
    			targets: ['react', 'markdown'],
    		},
    	],
    
    	visualizations: MarketplaceVisualizationRefs,
    
    	capabilities: {
    		requires: [
    			{ key: 'identity', version: '1.0.0' },
    			{ key: 'audit-trail', version: '1.0.0' },
    			{ key: 'notifications', version: '1.0.0' },
    			{ key: 'files', version: '1.0.0' },
    			{ key: 'metering', version: '1.0.0' },
    		],
    		provides: [
    			{ key: 'marketplace', version: '1.0.0' },
    			{ key: 'ecommerce', version: '1.0.0' },
    			{ key: 'payments', version: '1.0.0' },
    		],
    	},
    
    	telemetry: [{ key: 'marketplace.telemetry', version: '1.0.0' }],
    
    	jobs: [
    		{ key: 'marketplace.job.order-processing', version: '1.0.0' },
    		{ key: 'marketplace.job.payout-settlement', version: '1.0.0' },
    	],
    
    	translations: [
    		{ key: 'marketplace.translations.storefront', version: '1.0.0' },
    	],
    
    	docs: [
    		'docs.examples.marketplace',
    		'docs.examples.marketplace.goal',
    		'docs.examples.marketplace.usage',
    		'docs.examples.marketplace.constraints',
    	],
    });