Development of the publishing house’s online store
on 1C-Bitrix with a multi-level pricing system
IDM — «MIF Publishing House» is an online publishing house store that works simultaneously with retail and corporate customers. The project includes standard sales, a wholesale catalog, pre-orders, and special book purchase scenarios.
LP Agency joined the project in 2021 and has been engaged in its technical support and development since then. This was not a project to completely redesign the site: we are gradually developing the existing system, correcting errors, updating the platform and implementing new business scenarios.
About the project
Task
The main feature of the project is a large number of different purchase scenarios that must simultaneously work inside one online store.
On the site there are:
- retail customers;
- Wholesale buyers;
- users with access to pre-orders;
- multiple levels of wholesale prices;
- stocks;
- limited-quantity goods;
- pre-orders for books that are still in production;
special purchase scenarios, such as «Gift to the library.»
At the same time, the website must correctly take into account current prices, balances, discounts and product status directly during the order processing process.

What was done
Basket development and pricing system
Working with the shopping cart has become one of the most difficult areas.
Different purchase logic is implemented for different types of users. In particular, the wholesale catalog uses several price levels that depend on the number of copies ordered.
We have refined the mechanism in such a way that when working with the basket, the system takes into account:
- the current price of the product;
- current stock balances;
- type of buyer;
- current promotions;
- the quantity of the product in the order;
- rules for the transition between wholesale price levels.
An issue with outdated data in the trash has been fixed separately. If a user added a book a few hours ago, and during that time the price, promotion, or number of available copies changed, the system must take into account the current data when placing an order.
Working with the catalog
The store’s catalog has its own business sorting logic.
Books are divided into several statuses: new items, pre-orders, and other publications. However, a book that has ended is not deleted from the catalog — it remains viewable, but is moved to the end of the list.
A separate logic works with pre-orders. A book can appear in the catalog even before it actually arrives at the warehouse, and after the remainder appears, it can receive the status of a novelty for a certain period.
We refined this logic and adjusted the catalog display to the correct state, depending on the status and availability of the product.
Special purchase scenarios
A separate area was the development of the «Donate to the Library» functionality.
This is a social project that allows the user to purchase a book at a special price for transfer to a rural library.
For this scenario, the following were implemented:
- a separate button in the book card;
- special price;
- separate order type;
- separate shopping cart logic;
- special conditions of registration;
- separate offer;
- information blocks about the project;
- a separate notification template after placing an order.
At the same time, buying a book for yourself and buying a book for the library should be treated as different scenarios.
Personal account and order processing
As part of the support and development of the project, we also finalized the personal account and the order processing process.
Tasks include:
- correction of authorization and registration;
- working with the order history;
- correcting the display of created orders;
- working with pre-orders;
- adjustment of various design scenarios;
- correcting errors in forms;
- adding additional services;
- The gift mechanism;
- displaying links to purchase books on Ozon and Wildberries.
The mobile version of the store was also improved, including navigation elements, authorization, shopping cart and wholesale catalog.
Delivery
A separate layer of tasks is related to the integration of delivery services.
We were sorting out the work:
- SDEC;
- Boxberry;
- The delivery guy;
- AWZ Yandex Delivery.
Among other things, problems with the display of pick-up points, maps, buttons for selecting a delivery point, and order fields were fixed.
For some problems, it was necessary to diagnose the interaction of third-party modules with the existing checkout template and restore the standard logic for conducting tests.

Technical support
Since the project has been in operation for many years, a significant part of the work is related not only to the functionality, but also to maintaining the current state of the platform.
We fixed errors that occurred after 1C-Bitrix updates, updated the test and working versions, and maintained existing improvements.
At the current stage of the project development, the following is being performed:
- updating the 1C-Bitrix platform;
- updating PHP;
- preserving existing business logic;
- simplify authorization and registration;
- fixing problems with displaying orders in your merchant profile;
- fixing problems with the shopping cart and authorization.
What was the most difficult part
The main complexity of the project is not a separate technical task, but a large number of interrelated rules of the online store.
The price, quantity of the product, and the possibility of purchasing it depend on the type of user, the status of the book, the promotion, the balance, and the number of copies in the order.
However, changes in one part of the system may affect the shopping cart, catalog, personal account, and checkout.
Therefore, the development of the project requires not just correcting individual errors, but understanding the existing business logic and carefully making changes to a working online store.
Result
During its operation, the project gradually developed without the need to completely replace the existing online store.
Since 2021, LP Agency has been providing technical support and project development, including:
- development of the store’s business logic;
- support for different types of customers;
- working with wholesale prices;
- pre-order development;
- updating the shopping cart;
- special purchase scenarios;
- Delivery integration;
- personal account development;
- error correction;
- updating the CMS and server environment.
The main result is the opportunity to develop a working commercial project, preserving the accumulated business logic and gradually adding new functionality.