Варианты доставки в Мультивендор версии

Добрый день,
подскажите, бьюсь 3 день. Дано 2 продавца из разных стран и со своими зонами доставки - точнее для продавца из России есть 2 тарифа - по России один, для всего остального мира - другой. Для продавца из США аналогичная история - по штатам один тариф, для остальных стран другой. В панеле администратора для этого необходимо выделить отдельные зоны от “все страны” - Россия и США. Но продавцу из России по идее не нужно заполнять доставку для США, а достаточно заполнить “Россию” и “все страны”, а США оставить пустым. Но вот незадача - если выделять отдельный регион в админке, то система считает что нужно брать его, даже если тарифы для этой зоны не назначены. И для покупателя из штатов данный вид доставки не будет предлагаться, хотя система могла бы брать тариф “все страны”. Получается, что продавцу из России необходимо заполнить 3 тарифные зоны - для России, для США, для всех стран кроме США и России. А если продавцов не 2, а 200 и для каждого в идеале должны быть настроены тарифы в зависимости от страны, то каждому продавцу необходимо прописывать тарифы для каждой страны, добавленной админом в систему. Или есть какие-то другие способы это сделать? Возможности копировать тариф одной зоны для другой нет, получается что все страны и тарифы надо добавлять в ручную.
Спасибо

Здравствуйте! Во-первых, спасибо вам за интересную тему. Тарифные зоны — одна из тех вещей, которые мы планируем изучить и, возможно, переработать. Поэтому описанный вами сценарий очень полезен.

Сейчас тарифные зоны в CS-Cart и Multi-Vendor сейчас действительно работают, как вы описали. Они не наследуют ничего друг от друга, даже если одна из тарифных зон географически входит в другую. Проиллюстрировать это можно схемой:

Когда смотрите на эту схему, есть несколько важных нюансов:

  • Если бы тарифы всегда наследовались, то для возможности задать исключения (например, на схеме это Мексика, Аляска и вся Канада кроме Торонто) понадобился бы отдельный механизм. Сейчас принцип проще: “есть тариф для зоны — есть доставка туда; нет тарифа для зоны — нет доставки туда”.

  • CS-Cart не воспринимает тарифную зону с точки зрения географии. Принадлежность клиента к тарифной зоне определяется по адресу доставки. Чтобы отнести клиента к тарифной зоне, значения полей на чекауте должны совпасть с допустимыми значениями для тарифной зоны. То есть:

    • CША = у поля A значение X
    • Аляска = (у поля A значение X) и (у поля B значение Y)

    Если выполняется только первое условие, то тарифная зона — США; если оба условия — то Аляска.

  • Все тарифные зоны создаёт владелец маркета, а продавцы через тарифы решают, куда доставляют, а куда — нет.

  • Способам доставки с расчётом в реальном времени тарифные зоны не нужны и почти не учитываются (кроме как для ваших надбавок к стоимости). Доступность, базовая стоимость и сроки доставки определяются сервером службы доставки после сравнения адресов отправителя и получателя.

2 лайка

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

Да, вы все поняли правильно. Это при условии, что ведноры задают свои тарифы.

Есть и ещё один вариант. В Multi-Vendor владелец маркета может создать способ доставки самостоятельно и назначить тарифы для всех зон. У каждого вендора есть вкладка “Способы доставки”, и владелец маркета может там принудительно включить этот способ доставки для вендора.

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