Я прихожу к мнению, что одним статусом проблематично описать все возможные ситуации с заказом, так как в куче будет смешано и оформление на сайте, и оплата, и доставка, и получение. Пытаться все возможные комбинации ситуаций запихать в один статус - это прямой путь к головной боли. В случае заказов Интернет-магазина более адекватным решением было бы иметь несколько видов статусов для каждого заказа. Например:
Статус подтверждения заказа покупателем (когда магазин обязательно связывается с покупателем перед дальнейшими теледвижениями)
- Ожидает подтверждения (поступил новый заказ и ждет, когда оператор свяжется с покупателем)
- Подтвержден (связались, согласовали, что нужно согласовать по регламенту, статус будет связан со статусом “Отправлен на сборку” или “Ожидает оплаты”)
- Не подтвержден (не удалось связаться с покупателем за определенное регламентом количество времени, статус будет связан со статусом “Отменен”)
Статус физического нахождения заказа с товарами - обработка заказа на складе и доставка
- Принят (поступил новый заказ и еще не существует в собранном виде, ожидает подтверждения и при необходимости оплаты), товар резервируется на складе, на сайте количество уменьшается
- Отменен (если не удалось подтвердить, если покупатель отказался, если заказ вернулся назабранным, если невозможно собрать заказ), товар снимается с резерва на складе и снова выставляется на продажу на сайте
- Отправлен на сборку (подтвержденный заказ с наложенным платежом отправляется на сборку или подтвержденный заказ с полученной онлайн-оплатой отправляется на сборку)
- Собран (склад собрал заказ, но еще не отправил)
- Не может быть собран (склад не может собрать посылку, недостача или брак, нужно решать проблему и либо повторно отправлять на сборку, либо отменять заказ)
- Расформирован (по каким-то основаниями посылку разобрали, например, если покупатель отменил заказ или внес изменения и тогда нужно отправлять на повторную сборку или вернулся незабранный заказ)
- Отправлен (заказ отправлен со склада)
- Возвращен (заказ вернулся на склад, например, не забрали в ПВЗ или ошиблись адресом доставки, ожидает дальнейшей судьбы - Расформирования или повторной Отправки)
- Ожидает в пункте выдачи
- Доставлен
Статус оплаты
- Ожидает онлайн-оплаты
- Оплачен онлайн
- Ожидает наложенный платеж
- Получен наложенный платеж
- Возвращена оплата
Примерно так, каждый подстраивает под свою логику эти несколько видов и из взаимоотношения. Статусы, разумеется, можно менять или вручную, или программно через зависимости (например, не удалось связаться с покупателем - нажатием одной кнопки поставили сразу два статуса “Не подтвержден” для отдела продаж и “Отменен” для склада), или через API из CRM, платежных систем и служб доставки.
В общем списке заказов выводить все три вида статусов. И тогда будет понятно, на каком этапе находится заказ в плане согласования, в плане физического нахождения и в плане оплаты.
В CS-Cart есть отгрузки, которые как бы дополняют основной статус заказа, в них теоретически можно зашить все статусы физического прохождения заказа. Но наличие на сайте привязано к основному статусу заказа, а не к статусу отгрузки, что делает невозможным использование этого функционала в описанном ключе. Да и онлайн-оплата привязывается к основному статусу.
Есть какой-нибудь сторонний модуль “Расширенные статусы заказов”, вводящий такие дополнительные виды статусов для заказов?
Если нет, то напишу предложение в общую копилку предложений и буду пока допиливать свой CS-Cart самостоятельно в этом направлении.