# Наличие и возможность заказа Vesremont хранит цену и остатки отдельно. Нельзя интерпретировать одно поле как полную бизнес-семантику. ## Фактические правила карточки | Сигнал | Реальное значение | |---|---| | Цена больше 0 | Товар считается доступным для добавления в корзину | | Цена отсутствует или 0 | «Недоступно для заказа», кнопки покупки отсутствуют | | Остаток первого склада больше 0 | Schema `InStock`, показаны «На складе N» и «Самовывоз Сегодня» | | Остаток первого склада 0/отсутствует, но цена больше 0 | Schema `OutOfStock`, склад/самовывоз скрыты, но кнопки покупки остаются | | `ost_total` в листинге | Человекочитаемая строка, сформированная сервером из суммарного остатка | ## Как принимать решение 1. Для возможности заказа проверяйте наличие кнопки «В корзину» или «Быстрый заказ» и положительную цену. 2. Для немедленного самовывоза проверяйте видимый блок «Самовывоз» и положительный `inventoryLevel`. 3. Не преобразуйте `OutOfStock` автоматически в «заказать невозможно»: текущая реализация допускает заказ при нулевом остатке. 4. Не обещайте срок поставки товара с нулевым остатком; на карточке нет отдельного стабильного состояния «под заказ» со сроком. ## Известное семантическое противоречие При цене больше нуля и остатке 0 карточка одновременно имеет schema `OutOfStock` и активные кнопки покупки. Это реальное поведение, а не ошибка документации. До унификации бизнес-статусов агент должен сообщать оба факта отдельно: «локальный остаток 0» и «заказ через сайт доступен».