“ElectroMarket” Marketplace

Task: to develop a marketplace based on 1C-Bitrix for the ElectroMarket website.

Client: ElectroMarket is a wholesale and retail company specialized in electronics, operates offline stores network in several cities.

The website of the company:

Our company provides technical support and website improvements, so the client approached us with a project to develop a marketplace based on the existing website.

Functionality demand:

  • Registration form for legal entities supporting following moderation.
  • Seller's personal account.
  • The seller should be able to create his own warehouses (stores) and manage work schedules, conditions and delivery regions.
  • The seller should be able to create goods, manage inventory and pricing.
  • Receive orders in the personal account, manage the status and contents of the order.
  • Automatic generation of sales reports, commission calculation and invoicing.

Development

Following the task analysis we decided to use the existing MP product catalog so when the marketplace functionality gets into operation, the client would have full control over the information posted on the site.

Third-party sellers placing their offers should link their price-lists to existing cards, thus sellers don’t have to maintain up-to-date goods information (description, characteristics, etc.).

Seller’s goods and the website’s goods can be linked manually in the personal account; to do this, the seller just needs to indicate the reference of the existing product and fill out information on stocks and prices. This method is not suitable if the seller’s assortments includes several thousand items.

In this case, the seller can create a feed with their products and indicate a link to it in the personal account.

The YML (Yandex Market Language) format was taken as the format for the upload feed - a standard developed by Yandex for receiving and placing information in the Yandex.Market database.

It makes possible to integrate the seller and the marketplace at short notice, since this format is very popular among online stores and the probability the seller already has upload dataparsing pa is quite high.

When parsing the file, the robot searches for a suitable product card using the “article + brand” link from the file; if the card is found price information of the new seller is added to it, otherwise the product card is created based upon the information received from the feed and sent for moderation to the marketplace administrator.

Once the import is completed, the seller has to only check of the found comparisons are correct and to confirm placement on the site. Sellers can create several points of shipment of goods, so-called warehouses.

Each warehouse has its location, work schedule, self-pickup and delivery options.

All warehouses available for pickup are being grouped on the map, where the user can select a convenient pickup location.

Seller's personal account

The interface of the seller’s personal account is divided into main functional blocks:

  • Product control block.
  • Logistics block.
  • User control block.
  • Order processing block.
  • Finance block.

Product control block

Assortment management was implemented according to the logic presented below:

Managing prices and stocks is available both manually through the personal account interface and automatically by setting up (in your personal account) a file import schedule. The seller can set up multiple profiles (product import processes, stock and prices), each of them can be updated on its own schedule.

In this block we implemented:

  • Assortment and price management of placed offers.
  • Stock management of placed offers.
  • Automatic stock and price data update.

Logistics block

Each seller creates multiple shipping warehouses (stores), each of them can have its own assortment.

Working hours and shipment parameters are set for each warehouse. Based on that delivery time is calculated depending on the order placement time. It is also possible to flexibly configure delivery regions and set a unique cost for each of them.

We implemented the “Moving goods” function, where the seller selects a warehouse from which goods can be moved to another warehouse. Thus, the buyer adds to the cart the amount of remaining goods from two warehouses. The delivery time will be calculated based on the store’s work schedule and the delivery time from the remote warehouse.

The following was implemented in the block:

  • Adding several warehouses (stores) for shipping orders.
  • Warehouse working hours.
  • Delivery regions and delivery costs management tools.
  • Delivery time calculation based movement of goods from another warehouse.

User management block

Sellers can create users with different functions in the personal account, e.g. order manager, catalog manager, as well logging their actions in the system. For example, for each warehouse (store) a person responsible for processing orders or filling the catalog is getting assigned

Order management block

Here we implemented interfaces for displaying customer orders and editing orders. The list of orders displays the main parameters of the order. The list can be sorted and filtered by the parameters.

On the order editing page, the seller can adjust the composition of the order (adding and removing products), the cost of goods and delivery, and change order status.

Finance block

Here we implemented:

  • Commission setting for each position of delivered orders based on commission rules.
  • Summary order and commisions reports.
  • Automatic invoicing to sellers for payments (commissions) based on the results of the report period.
  • Closing documents formation at the end of the reporting period.

Public side

We redesigned the public side of the online store to suit the features of the marketplace, while trying to preserve the user experience for existing customers of the store.

The catalog product list is designed based on a city selected by a user. Trade offers from sellers in the city with minimum price and maximum stock are being selected for display.

We added a block of offers made by other sellers/stores located in the city (or deliver there) the user selected (the terms and conditions are displayed to the buyer). The user can add offers from several sellers to the cart and proceed to checkout.

On the checkout page, we group products by seller and divide the customer’s cart into several orders.

Each order “block” has its own delivery services and payment methods that the user selects. When placing an order, several orders are created, each of them is transferred to the relevant sellers in the personal account.

Conclusion

The developed marketplace functionality based on the existing online store allows not only to receive additional commission revenue, but also to expand the store “presence geography”, as well as its assortment. For marketplace sellers it is an additional sales channel, an opportunity to be represented on the Internet without investing in your own online store as well.

Project Lead

Dmitry Pokrovsky

Developers

Aleksandr Kozlov

Sergey Polovnikov

Account Manager

Eugeniy Nikonov