Hi,
As you already may know multi-store support is already added in the upcoming version 3.00 (you can discuss the entire roadmap here). Now it's time to discuss what multi-vendor support should include and how it should be implemented.
Of course, there could be a lot of multi-vendor support implementations. And as it was already told there is not such a concept as a "standard" multi-vendor situation. In each case it all depends on the stores business model. So let's choose the one which could be used by the most of store owners. Here are some points that should be considered/done:
1. Multiple vendors, single store. Products from multiple independent vendors appear in the common product catalog and your website visitors do shop at one web store even if your products are supplied by hundred of different vendors from all over the world.
2. Products from multiple vendors in one order. Your customers' shopping cart can contain products from several vendors, but they will still place one order and pay only once. Should a customer know whether his order contains product from several vendors? I personally think, no. A customer will see only one order. For proper tracking such order should be then automatically divided into several ones (sub-orders) depending on the number of vendors supplying the purchased goods – one order per each vendor. But I'm not sure whether it's possible to implement. Maybe, it'll always be one single order, and a vendor will have access to it, but he'll see only his products and shipments.
3. What can vendors do and see? Each vendor is provided with an admin panel access to manage products, see sales reports and order details with his products. Vendors will not interfere with each other's activity. Should a vendor see customer (order) details? Some store owners could say "no" because vendors could use customer (order) details to sell next time themselves. But vendors will know it anyway because they'll have to ship purchased products to customers.
4. Payment processing. The money goes to the merchant account of the root store administrator who then manually distributes funds among the vendors according to the history of orders, which is tracked and managed separately for each provider. This way the customer would only see one charge from the main company. Any other implementation will be too complex right now.
5. Shipping options and rates. It would be good if each vendor can configure own shipping methods (options) and buyers whose orders contains items from several vendors could select vendor-specific shipping options at checkout. Maybe, it's better to implement warehouse support. This way a store owner could have several warehouse (and more accurate shipping rates) even when he does not have any vendors configured (a separate feature not related to vendor). But it could be quite complex to implement it right now. Most probably only a store owner will manage shipping options and rates in the first edition of multi-vendor support.
6. Email notification to vendor. When an order is placed, an email should be sent to the supplier of each product in the order. The email will include the order details.
7. Vendor login/registration. I think the easiest way will be to use the standard customer workflow. Just create a new "Vendor" entity and a new "Vendor" customer role for vendors. This way we'll be able to use the standard ACL support to grant/deny access to some admin area pages. Also a store owner will have to manually create a vendor record, assign some customer records to it (vendor managers) and add these customer records to the "Vendor" customer role.
Anything else? Your thoughts, ideas, suggestions?
UPDATE (Mar 26th): Done. Please see this post of mine