Тонкая настройка Самовывоза и доставки в целом. Возможно ли?

самовывоз
настройка
доставка
способы-доставки
тонкости

#1

Преамбула

Пока нет модуля для нужной мне транспортной компании. Решил попробовать настроить пункты самовывоза через встроенный функционал.

С одной стороны, все отлично, у нас в коробке есть такая функция - Модули -> Расположение магазина.
Настройку ПВЗ можно делать через импорт/экспорт. Создаем точки, где угодно и как угодно, даже на карте выбираем. Но как только касаемся реалий - сразу сталкиваемся с массой проблем и ограничений.

Например, задача создать 200 ПВЗ, расположенных в разных тарифных зонах, разбросанных по разным уголкам нашей необъятной Родины.

  1. Для Москвы и Области существует 3 тарифа. Сама Москва - Базовый тариф. И крупные города московской области, которые делятся на ближние и дальние, соответственно две надбавки +50р. и +100р.
  2. В других тарифных зонах примерно так же, есть региональный центр, а есть крупный города областного значения, везде есть Базовый тариф, + те же надбавки +50р. и +100р.
    Это будет касаться, если магазин и в другом регионе.

Народ у нас привык, что доставка в ПВЗ бесплатная. Ок, смотрим экономику и говорим, что сюды и сюды можем бесплатно, но вот туды и туды только с доплатой. Есть еще и условие, что свыше определенной суммы и туды - сюды - всегда бесплатно.

Но настроить это все нельзя. :tired_face:

  1. Т.к. самовывозы везде с одной настройкой - то доставка будет по сроку везде одна, указывать 1-14 дней не вариант, так все кто в зоне 1-3 дня отвалятся, их будет смущать надпись 14 дней.
  2. Даже применить везде базовый тариф и высчитывать разницу, получится очень сложно. Поле - цены для каждого ПВЗ (Pickup surcharge) - не дает гибкой настройки.
  3. Отображение на карте или зажато под регион (если стоит автоопределение) или нужно везде ставить все регионы (все страны и т.п.), что на карте отображались все точки.
  4. В создании точки есть поля - Время работы, телефон и адрес, а на странице они не выводятся.

Тем более еще и данный функционал под мульти-склад хотят отдать.

Какие предложения

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

  1. При создании нового метода доставки у нас есть выбор - Расчет тарифа - В ручную или в реальном времени. Если выбираем первое, у нас гибкая настройка по странам/регионам/городам, которые мы можем создать и варьировать как угодно. Во-втором, там предлагают уже шаблоны, где собственно и есть шаблон - Самовывоз, который завязан на функционал - Расположение магазина.
    Для гибкой настройки тарифов нам нужна функциональность из первого блока (расчет в ручную), с частью блока из шаблона Самовывоз.

Что должно получится в итоге. Вкладка Общее практически без изменений, но при выборе шаблона самовывоз, на вкладке Стоимость доставки у нас должен быть совмещен функционал - выбор тарифа для созданной зоны/страны/региона/города (уже все есть) + формирование набора ПВЗ относящихся к данной зоне/стране/региону (то что сейчас есть в шаблоне) на вкладке Настроить.
Т.е. вместо двух вкладок, у нас должна быть одна Стоимость доставки + Настроить.
Единственное, что уже сформированные ПВЗ в одной зоне, не должны предлагаться в другую (защита от дурака).

Если не понятно описал, можно изобразить графически, только это более трудозатратно.

  1. Время доставки. На вкладке Общее есть настройка Время доставки. Есть сноска, если сервис/модуль отдает свое время, тогда будет использоваться оно. Вроде все хорошо. Но! Для любой доставки - с расчетом в ручную или в реальном времени, данная настройка должна перекочевать в раздел Стоимость доставки. Т.к. для каждой зоны/страны/региона - это значение свое. Это касается и ПВЗ.

  2. В настройку / описание каждого ПВЗ (Местоположение магазина) - добавить пункт Прием платежей. Мне видится только 2 варианта - Наличные и Наличные + карта. :euro: + :credit_card:

  3. Что у нас в админке. Выглядит это так:


    Что меня смущает:

  1. Это чекбоксы! Для чего? Что можно сделать с помощью групповой выборки? - Ничего! Может быть для группового выбора сделать хотя бы удаление? Потом уже и изменение статуса.
  2. Неплохо бы добавить групповой фильтр ОТОБРАЖЕНИЯ по существующему полю Город. Т.к. если я пролистал на 3ю страницу (а их может быть 10-20), нашел нужный ПВЗ, внес изменения, и закрыл, я опять окажусь на 1 странице, и начинается поиск нужного ПВЗ сначала. Долго, нудно, нецензурно в сторону разработчиков. :imp:
  3. Добавил бы еще колонок отображения - Страна (если используются), Привязку к зоне из 1 пункта на лету. И чекбоксы или переключатель - только наличные / наличные + карта.
  4. Первая колонка называется Расположение магазина - может это все такие - Название?
  5. Сортировку по каждому полю ▲▼, это уже касается все табличных данных в админке (must have).
  1. Внешний вид. У нас есть целый макет - вызывается по dispatch=pickup.view.
Сейчас он выглядит так (под катом)

Сразу оговорюсь, что жирным выделено через описание с использованием HTML, так же и перенос через <{br /}>.
Вас опять ничего не смущает? Подскажу, в настройках ПВЗ есть такие поля, как - Режим работы, адрес. Где они на карточке? Ведь выбор не всегда по карте осуществляется. Но и выравнивание немного кривое.
Я бы сделал это таким образом. Причем все это уже есть в базе (кроме метода оплаты), только вывести поля.

Немного другой вид

К чему это я.

  1. Многое уже реализовано, но не хватает напильника, а где-то только наждачки.
  2. Мне видится, что встроенный функционал нужно использовать по максимуму, т.к. это отказоустойчивость и скорость, нежели сторонние модули.
  3. Уже вписано в дизайн, в т.ч. если это темы.

Как всегда, комментарии, предложения и лайки приветствуются :wink:

© ИМХО. Мнение автора может не совпадать с мнением редакции или другими участниками форума.


Выбор города через блок "Местоположение покупателя"
#2

Ну и работу Вы проделали, плодотворная ночь была!
Про доставку и пункты назначения - вся боль всех пользователей движка, единственная ценность этого функционала на сегодня - привязка способа доставки к региону, чем мы с благодарностью пользовались )
И да, на сегодня - это игрушка-конструктор, с которой можно поиграть, можно что-то настроить - через одно место и с помощью какой-то матери, а можно ничего не делать. Как я понимаю, обычно все эти три шага и проходятся, и именно в такой последовательности.
Расписывать не буду по пунктам, все верно сказано, и вполне логично, скажу что самое первое меня оттолкнуло - это именно невозможность гибко проставить время/сроки доставки, что уж говорить про стоимость, когда в нашем случае габариты отправления почти всегда невозможно знать до момента сбора заказа.
Вобщем, посыл верный. Со всем этим надо что-то делать…


#3

Во-первых, большое вам спасибо за такую детальную тему. Хотя сразу на неё не ответили (т.к. она не очень активной была), мы из неё много идей почерпнули, когда думали, как реализовать магазины и ПВЗ, а в дальнейшем на их основе и многоскладовость.

Расскажу здесь, к чему мы пока пришли. Пока затрону только основные моменты (согласны, что список ПВЗ в админке тоже улучшать надо, но в моём сообщении речь будет не об этом). Приглашаю всех заинтересованных комментировать в этой теме.

Наши мысли по улучшению функциональности

1. “Пункты назначения” (Locations) переименовываем в “Тарифные зоны” (Rate areas).
Это потому, что сейчас пункты назначения используются только для налогов и для тарифов у способов доставки с расчётом вручную. Новое название даст понять, зачем нужна функциональность.

2. От тарифных зон должна зависеть не только стоимость, но и сроки доставки.
Причём это не только самовывоза касается, но и способов доставки с расчётом тарифов вручную. Так мы получим разные сроки доставки в Москве, по области, в другие области и т.д.

3. Поле “Доп. сбор” у ПВЗ нужно убрать.
Стоимость доставки в ПВЗ должна задаваться гибче и в одном месте. Поэтому в настройки способа доставки “Самовывоз” на вкладку “Стоимость доставки” добавляем возможность задать сроки и стоимость для каждой тарифной зоны (как сейчас у способа доставки “Курьером до двери” на демо).

Каждый пункт самовывоза привязываем к какой-то одной тарифной зоне (чтобы знать, откуда брать стоимость и сроки). При этом остаётся возможность выбрать, в каких тарифных зонах ПВЗ отображать. Т.е. у ПВЗ будет две настройки: “По какому тарифу считать стоимость и сроки” и “В каких местах этот ПВЗ отображать”.


#4

Как в поговорке, - лучше поздно, чем никогда.
Тема не получила отклика, т.к. мало кто использует этот встроенный функционал, по причине малой функциональности.
Пока полезен только тем, у кого свои офф-лайн точки.
Поле для доработок большое. Следим.


#5

может быть я не нашел как это сделать, а может так и задумано, но если покупатель на шаге адрес доставки выбирает город СПб, а ПВЗ я настроил только для Москвы, то должны ли эти ПВЗ в Москве ему отображаться? Мне думается, что по логике вещей не должны. Он же в Питере, накой черт ему Московские офф-лайн точки выдачи?


#6

Это настраивается. У ПВЗ есть настройка “Пункты назначения”. Там галками можно указать, где этот ПВЗ должен показываться. Например, на демо у ПВЗ выбран пункт назначения “Российская Федерация” (наряду с другими). Если у ПВЗ выбран только он, то этот ПВЗ будет показываться всем, кто находится в “Российской Федерации”, и при этом не относится, например, к “Москве”.