Разделение корзины книжного магазина на заказ и предзаказ

Разделение заказа и предзаказа в интернет-магазине на 1С-Битрикс

Доработали оформление смешанной корзины книжного магазина: выделение предзаказанных книг в отдельные заказы, признак PREORDER и обработчики событий.

1С-БитриксДоработка интернет-магазинаКорзина и оформление заказаПредзаказ

От проблемы к результату

Как мы решали конкретную задачу клиента и что получилось.

Проблема

В книжном интернет-магазине книга на предзаказе задерживала оплату всего заказа, включая книги в наличии. Клиенту требовалось разделить эти покупки, чтобы доступные товары и будущие издания можно было оплачивать отдельно.

Решение

Разработали обработчик оформления дополнительных заказов для книг в предзаказе. Доработали логику формирования заказов, страницу корзины и оформление покупки.

Добавили свойство PREORDER для обоих типов плательщиков и обработчики его автоматического заполнения. Обновили существующие заказы со статусами «предзаказ» и «предзаказ оплачен».

Результат

Реализовали и тестировали разделение заказов, включая создание отдельного заказа для каждой книги в предзаказе. Доработали интерфейс финального шага и добавили индикаторы выполнения операций.

Архивные записи подтверждают разработку, тестирование и коммиты. Отдельной записи о переносе этой доработки на рабочий сайт и замеров её влияния на продажи в задаче нет.

Проблема покупки

Одна книга на предзаказе задерживала оплату всей корзины

Покупатель добавлял в корзину книги в наличии и издания, которые ещё не вышли. По условиям задачи предзаказ мешал оплатить весь заказ. Требовалось разделить оформление, чтобы покупатель мог оплачивать доступные книги отдельно.

Эта доработка относится к архивному проекту «Альпина»: в служебной записи задачи сохранена ссылка на ветку репозитория с реализацией. Работы по разделению заказов зафиксированы в 2019 году.

Логика оформления

Разделить нужно было не только строки корзины

Сформировать отдельные заказы

Написали обработчик оформления дополнительного заказа с предзаказанными книгами. В процессе разработки реализовали создание отдельного заказа для каждой такой книги.

Сохранить признак предзаказа

Добавили PREORDER для обоих типов плательщиков и обработчики автоматического заполнения. Обновили признак у существующих заказов с соответствующими статусами.

Согласовать события и интерфейс

Дорабатывали события оформления и логику разделения. На финальном шаге добавили прелоадеры, чтобы покупатель видел выполнение операций.

Реализация

Как дорабатывали оформление заказа

01

Обработчик дополнительных заказов

Реализовали создание заказов с предзаказанными книгами и отлаживали события оформления.

02

Формирование и свойства заказов

Доработали состав создаваемых заказов, добавили свойства и проверяли полученные данные.

03

Признак PREORDER

Добавили свойство для двух типов плательщиков, автоматическое заполнение и обновление существующих предзаказов.

04

Корзина и финальный шаг

Изменили страницы корзины и оформления. Добавили индикаторы выполнения операций и поправили стили.

05

Повторные проверки

Тестировали формирование заказов и корректировали логику разделения. Часть проверок прямо отмечена как работа на копии сайта.

Сценарий

Книги в наличии и будущие издания

Представим корзину с одной доступной книгой и двумя книгами в предзаказе. Цель изменения — выделить будущие издания из общей покупки и дать возможность оплачивать получившиеся заказы отдельно.

В записях разработки указан вариант, при котором для каждой предзаказанной книги создаётся отдельный заказ. Это позволяет разделить издания с разными сроками выхода. Пример иллюстрирует логику задачи, а не отдельный зафиксированный заказ покупателя.

Подтверждено работами

Что было реализовано

01

Обработчики разделения заказов

Разработаны и отлаживались обработчики оформления дополнительных заказов для предзаказанных книг.

02

Признак предзаказа

Добавлено свойство PREORDER и автоматическое заполнение. Выполнено обновление существующих заказов с двумя статусами предзаказа.

03

Изменения корзины и оформления

Доработаны страницы, добавлены прелоадеры. В истории работ сохранены записи тестирования и ссылки на коммиты.

Границы результата

Разработка и тестирование подтверждены архивом

В задаче зафиксированы изменения кода, повторные тесты и доработки интерфейса. Отдельной записи о переносе именно этой версии на рабочий сайт в доступных транзакциях нет.

Поэтому кейс описывает выполненную техническую работу. Рост конверсии, изменение выручки и сокращение числа отказов по этой задаче не измерены.

Похожая задача

Доработаем оформление под правила вашего магазина

Если в одной корзине смешиваются товары с разными сроками готовности, сначала разберём правила разделения, оплаты и доставки. Проверим, как дополнительные заказы связаны со статусами и внешними системами.

Для обсуждения пригодится пример смешанной корзины и описание того, когда покупатель должен оплачивать каждую часть покупки.