Производство

Как устроено

Отдельный контур для цеха: видно, что шить, и можно сообщить, что сшито. Ничего лишнего — ни заказов, ни покупателей.

Площадка и её ключ

Производственная площадка — это цех или мастерская. У неё свой ключ доступа и ровно один бренд. Работать с двумя брендами одним ключом нельзя: нужны два ключа, по одному на бренд.

Товары могут быть закреплены за конкретной площадкой. Тогда в очереди у этой площадки будут только её товары, и приёмку чужого товара она провести не сможет.

Как считается очередь

Очередь нигде не хранится. Она пересчитывается на каждый запрос из трёх величин: текущего остатка, порога и размера партии.

  • Остаток берётся не физический, а за вычетом резервов — то есть сколько вещей реально свободно. Он может быть отрицательным: это значит, что заказов принято больше, чем есть товара.
  • Порог — граница, ниже которой позиция попадает в очередь.
  • Партия — сколько штук шьют за раз.

Когда остаток опускается ниже порога, позиция появляется в очереди с количеством, равным партии. Если остаток ушёл в минус, к партии добавляется недостача — чтобы закрыть уже принятые заказы.

как получается количество
остаток = 1, порог = 2, партия = 5   → шить 5
остаток = 5, порог = 2, партия = 5   → в очередь не попадает
остаток = -3, порог = 2, партия = 5  → шить 8 (партия плюс недостача)
партия = 0                           → не попадает никогда

Размер или вариант

Позиция в очереди — это не обязательно размер. С системой атрибутов товар может быть заведён на нескольких осях выбора сразу (Размер, Цвет, Принт), и тогда позицией становится конкретная комбинация — вариант. Расчёт очереди для варианта устроен точно так же: остаток минус резервы, тот же порог и партия.

Для сопоставления позиций между очередью и приёмкой используйте variant_id — он однозначно определяет комбинацию атрибутов и работает для любого товара, в том числе для обычного, у которого атрибут только один («Размер»). Легаси-поля size/size_id никуда не делись и продолжают работать для товаров на старой модели — size_id будет null, если у товара нет исторического «Размера» вовсе (например, товар только с атрибутом «Цвет»).

Пошив под заказ

Часть позиций не хранится на складе вовсе, а шьётся под конкретный заказ. Такие помечены признаком «под заказ», и количество для них равно недостаче, а не партии.

Приёмка

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

Коды маркировки

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

Список эндпоинтов с параметрами и примерами — в разделе «Очередь и приёмка».