A brief overview on Drupal Commerce-Marketplace
This module provides a new entity type for stores called commerce_store. Using this module we can create a lot of different stores. Each product has an Store reference which determines which store owns that product.
Each store entity has a store owner,who has the permission to access
- store administration
- payment methods management
- store product
- order administration
There are two entity types commerce_product and commerce_order.After enabling the marketplace module each product and each order is assigned to a specific store.See the product list view(marketplace_products.png).
Orders
In Commerce-Marketplace modules there are two types of orders.
- Marketplace orders
- Store orders
Marketplace orders
Marketplace orders is used to handle customer carts. Customers can only see the marketplace orders.
when customer adding products from two different stores to the shopping cart, Order still is displayed as one for a customer(see marketplace-order-customer.png). Actually it is two different orders for admin and store owner under same order group(see marketplace-order-admin.png). The same happens on the Checkout page - two orders are still displayed as one to a customer.
This is because commerce_order entity type now has a new property called order_group.
Store orders
A new order type which is used handle orders for each store. Each Store order has a reference to the original Marketplace order. New Store order gets created when the product is added to a marketplace from different store in the Marketplace otherwise product is added to an existing Store order which contains products from the same store. When changes in Store order leads to changes in market place order because they are related to one another.
Shipping fees
Calculates shipping rates for each store and adds the sum of calculated shipping fees to the marketplace order using new shipping method. Currently, because of commerce_shipping's limitations, there are problems with calculating the shipping rates based on the store preferences using shipping methods like UPS. But the flat rate shipping method working properly.